Javascript Can';t整理一批发送到s3的所有文件

Javascript Can';t整理一批发送到s3的所有文件,javascript,ruby-on-rails,reactjs,file-upload,amazon-s3,Javascript,Ruby On Rails,Reactjs,File Upload,Amazon S3,我有一个React+Rails聊天应用程序,我想向它添加附件 我用做附加图像。每次图像成功添加到dropzone时,它都会调用attachToS3函数并将该图像发布到S3。成功发布后,它将新消息内容的状态设置为文件的url。 一旦用户上传了所有文件,他们可以单击send,将new\u message\u内容作为新消息插入对话中 由于,我允许用户同时添加多个文件,因此我的状态仅包含上次上载文件的url,而不是所有url的数组 我的dropzone呈现如下: renderFileDropzone()

我有一个React+Rails聊天应用程序,我想向它添加附件

我用做附加图像。每次图像成功添加到dropzone时,它都会调用
attachToS3
函数并将该图像发布到S3。成功发布后,它将
新消息内容的状态设置为文件的url。
一旦用户上传了所有文件,他们可以单击
send
,将
new\u message\u内容作为新消息插入对话中

由于,我允许用户同时添加多个文件,因此我的状态仅包含上次上载文件的url,而不是所有url的数组

我的
dropzone
呈现如下:

renderFileDropzone() {
let componentConfig = { postUrl: 'random_url'},
            djsConfig = { autoProcessQueue: true, addRemoveLinks: true },
            eventHandlers = { addedfile: this.attachToS3.bind(this) };
    return(
            <div>
                <div className="dashboard-modal">
                    <div className="dashboard-modal-content">
                        <div className="dashboard-modal-header">
                            <h5>Send files to {this.state.counterparty.name}</h5>
                            <span onClick={this.closeDropzone.bind(this)} className="icon-cancel modal-close"></span>
                        </div>
                        <form>
                            <div className="dashboard-modal-body">
                                <DropzoneComponent config={componentConfig} eventHandlers = {eventHandlers} djsConfig = {djsConfig} />
                                <button onClick={this.sendMessage.bind(this)} type="submit" className="btn btn-secondary">Send Files</button>
                            </div>
                        </form>
                    </div>
                </div>
                <div className="modal-bg bg-transparent-black"></div>
            </div>
    )
}
我尝试将
localStorage
添加到我的
attachToS3
函数中,如下所示:

var url_array = JSON.parse(localStorage.getItem('allFiles'));
if (url_array == null) url_array = [];
var url = {
  'url' : file_url
};
localStorage.setItem('url', JSON.stringify(url));
url_array.push(url);
localStorage.setItem('allURL', JSON.stringify(url_array));
但它不工作,我得到一个错误
url\u数组。push
不是一个函数

有没有办法获取数组中的所有文件url

var url_array = JSON.parse(localStorage.getItem('allFiles'));
if (url_array == null) url_array = [];
var url = {
  'url' : file_url
};
localStorage.setItem('url', JSON.stringify(url));
url_array.push(url);
localStorage.setItem('allURL', JSON.stringify(url_array));