在 dropzone.js 中确定所有文件何时已成功上传

Determine when all files have uploaded successfully in dropzone.js

我正在使用 dropzone.js 上传到我的网站。上传器处于模态,我想在所有文件上传成功后自动关闭。

为此,我使用以下代码:

buttonUpload.on("complete", function (file) {

    var remaining = buttonUpload.getRejectedFiles().length + buttonUpload.getQueuedFiles().length + buttonUpload.getUploadingFiles().length

    if (remaining == 0) {
        $("#modal-upload-file").modal('hide');
    }
});

我希望此代码将失败、尚未上传和正在上传的文件数加在一起。如果这是零,则模式关闭。

我能够确定 buttonUpload.getRejectedFiles() 不包括在上传时收到错误的文件。通过阅读文档,我看不出有什么办法可以像我想的那样检查每个文件是否都已成功上传。我该怎么做?

这是我的解决方案。

成功后,文件从队列中删除:

buttonUpload.on("success", function(file) {
    buttonUpload.removeFile(file);
});

然后,当队列完成时,如果有任何文件仍然存在,则它们不成功。

buttonUpload.on("queuecomplete", function (file) {
    if (buttonUpload.getAcceptedFiles().length > 0) {
        $("#file-error-warning").slideDown();
    } else {
        $("#modal-upload-file").modal('hide');
    }
});