Dropzone异步文件上传

时间:2019-10-22 20:01:32

标签: javascript vue.js dropzone.js

我有一个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]);
        }

最后一个“有效”,它同时向服务器发送每个文件的请愿书(我不想发生这种情况),不仅是这样,而且只有一个文件可以正确上传,而另一个则不能。

enter image description here

由于某种原因,只有一个上传成功,而另一个被取消? 我在配置中出错了,还是在上传每个排队的文件时出错了?

0 个答案:

没有答案