我有一个API,可以接收一个.csv文件,还有一个dropzone对象,可以上传.csv文件。 有时文件很大,需要一段时间才能上传和处理, 所以我想一个接一个地上传多个文件,i already read this related question。
我已经像这样配置了dropzone:
this.dropzone = new Dropzone('div#upload-button', {
url: this.url,
maxFiles: 5,
uploadMultiple: false,
parallelUploads: 1,
autoProcessQueue: false,
//etc...
当用户确定所有文件均正确时,将调用此函数:
uploadFile(confirm) {
if (confirm && !this.uploading) {
const dataParams = {
option: this.option,
autodebit_type: this.autodebit_type,
};
this.uploading = true;
this.dropzone.options.params = dataParams;
this.dropzone.options.acc = dataParams;
this.dropzone.processQueue();
// etc..
我的问题是this.dropzone.processQueue();
仅发送一封请愿书,我也尝试过这样做:
for (let i = 0; i < this.dropzone.getAcceptedFiles().length; i++) {
this.dropzone.processQueue();
}
问题仍然存在,仅向服务器发送了一份请愿书,仅此而已,我以为processQueue
会将每个文件作为docs say发送,所以我尝试了stackoverflow的答案:
for (let i = 0; i < this.dropzone.getAcceptedFiles().length; i++) {
this.dropzone.processFile(this.dropzone.getAcceptedFiles()[i]);
}
最后一个“有效”,它同时向服务器发送每个文件的请愿书(我不想发生这种情况),不仅是这样,而且只有一个文件可以正确上传,而另一个则不能。
由于某种原因,只有一个上传成功,而另一个被取消? 我在配置中出错了,还是在上传每个排队的文件时出错了?