Dropzone.js拒绝了文件预览中的文件

时间:2015-01-29 16:10:50

标签: jquery dropzone.js

我有一个简单的dropzone实例用于文档上传(只有特定的文件扩展名)。当我在dropzone元素上删除带有所需扩展名以外的文件时,它会显示有关错误文件扩展名的消息(这是正常的)并创建它为有效文件创建的相同元素。

是否有一些选项只显示消息并阻止创建(或显示)元素的其余部分?或者是一个针对文件拒绝的事件?我注意到被拒绝文件的元素有'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 个答案:

答案 0 :(得分:19)

您可以收听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);});
        }
    });
});