使用 Dropzone.js 上传订单

Upload order with Dropzone.js

我正在使用 Dropzone.js 和我的 PHP 脚本将文件上传到我的服务器。我注意到他们并没有完全按照我 select 他们的顺序上传。例如,假设我有 1.jpg2.jpg3.jpg4.jpg5.jpg

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

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

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

要取回 parallelUploads,但要控制顺序,您可以传回 FileID 作为上传的响应 url,并且可以在 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 事件),您可以post按您想要的顺序返回 FileID。