Dropzone.js在文件预览中拒绝了文件。

7
我有一个简单的文件上传dropzone实例(仅特定文件扩展名)。当我将具有不同于所需扩展名的文件拖放到dropzone元素上时,它会显示关于错误文件扩展名的消息(这是可以的),并创建与对有效文件相同的元素。
是否有某个选项只显示消息并防止创建(或显示)其余部分的元素?或者在文件被拒绝时触发的事件?我注意到被拒绝文件的元素具有'class =' dz-error'',因此我认为我可以在fileAdded回调中以某种方式使用它,但我也认为一定有更好的方法。下面是JS代码供参考。
var accept = ".pdf,.doc,.docx,.odt";

$(document).ready(function(){
    var DZ = $(dropzoneSelector).dropzone({
        url: "example/url",
        autoProcessQueue: false,
        uploadMultiple: true,
        clickable: clickableSelector,
        addRemoveLinks: true,
        acceptedFiles: accept,
        createImageThumbnails: false,
        init: function(){
            this.on("addedfile", handleFileAdded);
            this.on("removedfile", handleFileRemoved);
        }
    });
}); 
1个回答

26

您可以侦听error事件,然后检查文件是否被接受,如果没有被接受则删除它。 您的代码应该是这样的:

var accept = ".pdf,.doc,.docx,.odt";

$(document).ready(function(){
    var DZ = $(dropzoneSelector).dropzone({
        url: "example/url",
        autoProcessQueue: false,
        uploadMultiple: true,
        clickable: clickableSelector,
        addRemoveLinks: true,
        acceptedFiles: accept,
        createImageThumbnails: false,
        init: function(){
            this.on("addedfile", handleFileAdded);
            this.on("removedfile", handleFileRemoved);
            this.on("error", function(file){if (!file.accepted) this.removeFile(file);});
        }
    });
}); 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接