我试图将Dropzone.js设置为同时处理多个文件,但还要以1mb为单位上传每个文件。我似乎找不到合适的DZ配置。
当我在DZ的工作分块实现中添加“ uploadMultiple:true”时,Chrome抛出此错误:“未捕获的错误:您不能同时设置:uploadMultiple和分块。”
答案 0 :(得分:0)
问题:“ 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示例代码段:
(我删除了所有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;
});