Javascript 使用Dropzone.js上传订单

Javascript 使用Dropzone.js上传订单,javascript,file-upload,dropzone.js,Javascript,File Upload,Dropzone.js,我正在使用Dropzone.js和我的PHP脚本将文件上传到我的服务器。我注意到他们并没有完全按照我选择他们的顺序上传。例如,假设我有1.jpg,2.jpg,3.jpg,4.jpg,5.jpg 它们是按照服务器最快接收它们的顺序上传的。所以它可以像4,2,5,3,1那样上传 我的PHP脚本还将文件插入数据库,这就是为什么排序很重要。我找不到按顺序上传的配置选项,但我想我可能能够通过队列按顺序上传,而不是让dropzone处理队列。将parallelUploads设置为1应该会有所帮助,但这会大大

我正在使用Dropzone.js和我的PHP脚本将文件上传到我的服务器。我注意到他们并没有完全按照我选择他们的顺序上传。例如,假设我有
1.jpg
2.jpg
3.jpg
4.jpg
5.jpg

它们是按照服务器最快接收它们的顺序上传的。所以它可以像4,2,5,3,1那样上传


我的PHP脚本还将文件插入数据库,这就是为什么排序很重要。我找不到按顺序上传的配置选项,但我想我可能能够通过队列按顺序上传,而不是让dropzone处理队列。

将parallelUploads设置为1应该会有所帮助,但这会大大降低速度,具体取决于要上传的文件数量/大小

要恢复并行上传,但要控制顺序,您可以从上载url返回一个FileID作为响应,这可以在dropzone的成功事件中读取

dropzoneObject.on("success", function (file, response) {
    // Requires a hidden field named FileIDs to exist in your previewTemplate.
    $(file.previewElement)
        .find("input[name='FileIDs']")
        .val(response);
});

在所有上传完成后(queuecomplete事件),您可以按照您想要的顺序发布文件ID。

将parallelUploads设置为1是否有帮助?@Sully这似乎有效!它仍然按照文件被选中的顺序上传,但这比随机顺序要好,谢谢你,没问题。有一段时间了,但我也有类似的问题。为了保持并行(更快)上传,我使用了dropzone的一个complete/success事件将“文件id”传递回页面。在用户“保存页面”之后,我按照我想要的顺序发回了文件ID。这样,可以任意上传/保存文件,但最终保存了订单。如果你对这方面的代码感兴趣,我可能会把它挖出来。如果并行上传不可用,我会对文件队列和事件做类似的事情。这个解决办法就足够了。如果您想将其作为答案发布,我将接受。已确认将
parallelUploads
属性设置为
1
会将排序顺序固定为所选。谢谢你,萨利!