dropzone.js допустимые типы загрузки изображений
Я использую dropzone.js плагин для добавления загрузчика изображений в мое приложение. Я знаю, что это, вероятно, действительно простой вопрос, поэтому прошу прощения, но я хочу ограничить расширения файлов. Это работает для одного расширения файла,
<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>
Итак, мой вопрос заключается в том, как добавить несколько расширений файлов, т. Е. image/jpeg
, image/png
?
Спасибо
4 answers
Вы могли бы добавить дополнительные расширения к вашему if
, например:
if (file.type != "image/jpeg" && file.type != "image/png") {
Это позволит проверить, отличается ли тип файла от ВСЕХ указанных вами типов. Чтобы файл прошел проверку, он должен отличаться от изображения/jpeg И изображения/png
Обновление
Я бы посоветовал взглянуть на ответ энио, поскольку он является автором Dropzone.
Я автор Dropzone.
Вам следует использовать acceptedMimeTypes
acceptedFiles
. Это ведет себя точно так же, как свойство input
элемента accept
. Таким образом, даже запасной вариант будет работать должным образом.
Допустимые свойства acceptedFiles
могут выглядеть следующим образом:
audio/*
image/*
image/jpeg,image/png
- и т.д....
РЕДАКТИРОВАТЬ: в последних версиях Dropzone это свойство называется acceptedFiles
и позволяет также определять расширения. Так что это сработало бы:
"audio/*,image/*,.psd,.pdf"
(Для обратной совместимости acceptedMimeTypes
будет работать до следующего основного выпуска)
Спасибо, энио, это сработало.... потрясающе...просто вставьте эту строку в 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'
Если выпадающая зона доступна для кликабельности, эта опция также будет использоваться в качестве параметра "принять" при вводе скрытого файла.
var myDropzone = new Dropzone('div#profile_pictures',{
acceptedFiles: "image/*"; /*is this correct?*/
init: function(){
this.on("success", function(file, data) {
/*..*/
});
}
})