我有一个简单的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);
}
});
});
答案 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);});
}
});
});