dropzone.js图片上传acceptedMimeTypes

我正在使用dropzone.js插件向我的应用程序添加图像上传器。 我知道这可能是一个非常基本的问题,所以道歉但我想要做的是限制文件扩展名。 这适用于单个文件扩展名,

 Dropzone.options.dropzone = { accept: function(file, done) { console.log(file); if (file.type != "image/jpeg") { done("Error! Files of this type are not accepted"); } else { done(); } } }  

所以我的问题是如何添加多个文件扩展名,即image/jpegimage/png

谢谢

您可以为if添加更多扩展名,如下所示:

 if (file.type != "image/jpeg" && file.type != "image/png") { 

这将检查文件类型是否与您指定的所有类型不同。 对于要通过检查的文件,它必须与image / jpeg AND image / png不同

更新

我建议看看enyo的答案,因为他是Dropzone的作者。

我是Dropzone的作者。

您应该使用acceptedMimeTypes acceptedFiles 。 这与input元素的accept属性完全相同。 这样,即使是后备也能正常工作。

有效的acceptedFiles属性可能如下所示:

  • audio/*
  • image/*
  • image/jpeg,image/png
  • 等等…

编辑 :在Dropzone的最新版本中,此属性称为acceptedFiles ,它允许您还定义扩展。 这样可行:

"audio/*,image/*,.psd,.pdf"

(对于向后兼容性, acceptedMimeTypes仍然有效,直到下一个主要版本)

谢谢enyo它工作….真棒…只需在dropjone.js->中粘贴该行

 uploadMultiple: true, (upload multiple files) maxFilesize: 1, (1 mb is here the max file upload size constraint) acceptedFiles: ".jpeg,.jpg,.png,.gif", 

http://www.dropzonejs.com/#config-acceptedFiles

accept的默认实现会根据此列表检查文件的mime类型或扩展名。 这是一个以逗号分隔的mime类型或文件扩展名列表。 例如: 'image/*,application/pdf,.psd'如果Dropzone是可点击的,则此选项也将用作隐藏文件输入的接受参数。

 var myDropzone = new Dropzone('div#profile_pictures',{ acceptedFiles: "image/*"; /*is this correct?*/ init: function(){ this.on("success", function(file, data) { /*..*/ }); } }) 
 var dz = $("#FileUpload").dropzone({acceptedFiles: ".jpeg"})[0];