Jquery 如何读取排队等待dropzone的文件列表并按顺序上载它们
我正在使用(拖放)Jquery 如何读取排队等待dropzone的文件列表并按顺序上载它们,jquery,file-upload,drag-and-drop,dropzone.js,Jquery,File Upload,Drag And Drop,Dropzone.js,我正在使用(拖放)dropzone.js 在这里,我将autoProcessQueue保留为false以进行自定义上载 现在我正在寻找如何获得我选择要上载的队列列表。原因是我需要一个接一个地上传文件,以便维持秩序。我可以将选项parallelUploads保留到1,这样文件就可以一个接一个地上传,但这里的问题是第二个文件没有等待前一个文件的响应 也就是说,在上传服务器的过程中,第二个文件正在被处理,如果它的大小小于第一个文件,那么它将在前一个文件之前被先上传 请回答这个问题。我最近与和一起工作,
dropzone.js
在这里,我将autoProcessQueue
保留为false
以进行自定义上载
现在我正在寻找如何获得我选择要上载的队列列表。原因是我需要一个接一个地上传文件,以便维持秩序。我可以将选项parallelUploads
保留到1
,这样文件就可以一个接一个地上传,但这里的问题是第二个文件没有等待前一个文件的响应
也就是说,在上传服务器的过程中,第二个文件正在被处理,如果它的大小小于第一个文件,那么它将在前一个文件之前被先上传
请回答这个问题。我最近与和一起工作,遇到了文件排序挑战以及在所有文件上载之前触发的事件。 当您使用默认值时,它将分隔所有上载,因此要允许多个文件,您需要设置
uploadMultiple
参数。
您可以通过设置parallelluploads
参数来控制支持的并行上载数量。我似乎记得它默认为两个。诀窍是在处理响应之前等待所有上传完成。
我知道你希望保留上传文件的顺序,但我真的认为你希望按顺序处理回复。强制他们按顺序上传消除了任何并行上传的优势
我添加了两个处理程序
一个用于在响应完成时保存响应(每个并行上传块产生一个
myDropzone.on("successmultiple", function(file,response) {
save_responses(response);
});
一个是在完成后处理它们
myDropzone.on("completemultiple", function() {
if (this.getQueuedFiles().length == 0 &&
this.getUploadingFiles().length == 0) {
process_responses(this.getAcceptedFiles());
}
});
如果您怀疑文件顺序不正确,您可以随时检查event.dataTransfer.files数组我正在尝试此代码,但它对我无效。我需要放置区域队列中的文件名。此数据将在提交期间传递给PHP。