文件已被接受而未被排队

时间:2015-06-29 03:08:12

标签: jquery dropzone.js

使用DropzoneJS v4.0。

以下是为dropzone设置的选项。

Dropzone.options.myDropzone = {
    acceptedFiles: '.jpg,.jpeg,.png',
    addRemoveLinks: true,
    autoQueue: false,
    clickable: false,
    maxFiles: 1,
    maxThumbnailFilesize: 2000,
    parallelUploads: 10,
    thumbnailWidth: null,
    thumbnailHeight: null,
    init: function() {
        var dropzone = this;

        dropzone.on("addedfile", function(file) {
            if (!file.type.match(/image.*/)) {
                dropzone.removeFile(file);
            }else {
                function();
            }
        });

        dropzone.on("maxfilesexceeded", function(file) {
            dropzone.removeFile(file);
        });

        dropzone.on("removedfile", function(){
            if($('#imgEditor').find('img').length == 0) {
                $('.overlay').remove();
                $('#cropper').remove();
                $('#upload').remove();
            }
        });

        $(document).on('click', '#upload', function(){
            dropzone.processQueue();
        });
    }
};

当我点击function()事件中addedfile动态生成的上传按钮时,没有任何反应。检查dropzone.getAcceptedFiles().length将返回dropzone中的文件数,但检查dropzone.getQueuedFiles().length将返回0.没有文件已上载或已触发上载,文件类型为有效文件类型。

我需要帮助理解为什么文件被视为已被接受但未排队。我没有找到解释差异的文档,如果有任何和在代码中,如果文件被接受,它应该排队,但事实并非如此。所以我知道为什么processQueue实际上失败了我只是不知道为什么排队失败。

autoQueue更改为true可以正确上传文件,但这不是所需的效果。请参阅Enyo FAQ Dropzone Submit Button

GIT中 #989

1 个答案:

答案 0 :(得分:1)

autoQueue就是这样做的:它会在文件添加后对其进行排队。由于您已将其停用,因此未排队。

我认为您正在寻找的是:autoProcessQueue: false除非您实际处理队列,否则不会上传文件,而是手动"。