我正在使用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');
    }
});

10-07 22:02