【问题标题】:How to set up Dropzone.js to upload multiple and upload in chunks at the same time?如何设置 Dropzone.js 上传多个并同时分块上传?
【发布时间】:2019-10-04 22:54:40
【问题描述】:

我正在尝试将 Dropzone.js 设置为同时处理多个文件,但还要以 1mb 块的形式上传每个文件。我似乎找不到合适的 DZ 配置。

当我在 DZ 的工作分块实现中添加“uploadMultiple: true”时,Chrome 会抛出此错误:“未捕获的错误:您不能同时设置:uploadMultiple 和分块。”

【问题讨论】:

    标签: dropzone.js chunking multifile-uploader


    【解决方案1】:

    问题:“autoProcessQueue”设置为“false”,因为我只想在用户点击“提交”按钮时进行处理。即使“uploadMultiple”未设置为 true,只要队列是自动处理的,Dropzone 就会上传多个文件(可能是连续而不是同时)。

    解决方案: 上传文件的所有块后,Dropzone.js 调用“chunksUploaded”。在第一个文件成功上传其所有块后,将“autoProcessQueue”选项重置为“true”。在“queueComplete”之后,将其设置回“false”以准备下一次上传。

    请参阅此处的答案以了解 chunksUploaded 回调,在使用它连接上传后的块的上下文中:How to concatenate chunked file uploads from Dropzone.js with PHP?

    有关开启/关闭 autoProcessQueue 的信息,请参阅此线程的结尾:https://github.com/enyo/dropzone/issues/462

    Javascript 示例 sn-p:

    (我去掉了所有 Dropzone 和 Ajax 选项以突出显示相关部分)

    var myDropzone = new Dropzone(target, {
      chunksUploaded: function(file, done) {
        // ajax below posts to a script that merges the uploaded chunks of the current file
        $.ajax({
            success: function (data) {
              myDropzone.options.autoProcessQueue = true;
              done();
            }
         });
      }
    });
    
    myDropzone.on("queuecomplete", function() {
      myDropzone.options.autoProcessQueue = false;
    });
    

    【讨论】:

    • 亲爱的格兰特,如果在这个 ajax 调用过程中出现问题,还请描述如何处理错误...
    猜你喜欢
    • 2018-09-30
    • 1970-01-01
    • 2017-11-14
    • 2019-10-01
    • 2013-08-06
    • 2018-10-28
    • 2019-10-03
    • 1970-01-01
    • 2015-09-13
    相关资源
    最近更新 更多