I am using the dropzone.js plugin to add an image uploader to my application. I know this is probably a really basic question so apologies but what I want to do is limit the file extensions. This works for a single file extension,
<script type="text/javascript">
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(); }
}
}
</script>
So my question is how to add multiple file extensions, i.e. image/jpeg
, image/png
?
Thanks
I'm the author of Dropzone.
You should use the
acceptedMimeTypes
acceptedFiles
. This behaves exactly the same as theinput
element'saccept
property. This way, even the fallback will work properly.Valid
acceptedFiles
properties can look like this:audio/*
image/*
image/jpeg,image/png
EDIT: in the latest versions of Dropzone this property is called
acceptedFiles
and it allows you to also define extensions. So this would work:"audio/*,image/*,.psd,.pdf"
(For backwards compatibility
acceptedMimeTypes
will still work until the next major release)You could add more extensions to your
if
, like so:This will check if the file type is different from ALL of the types you specify. For a file to pass the check, it has to be different from image/jpeg AND image/png
Update
I would advise to look at enyo's answer since he is the author of Dropzone.
In case someone is interested (I can not comment on Enyo's post): I have had problems with the application of the Dropzone options and after investigating I have noticed that the version of jQuery jquery-3.2.1.min.js that I was using was the cause of its malfunction
thanks enyo it worked ....awesome...just paste that line in dropjone.js->
http://www.dropzonejs.com/#config-acceptedFiles