Dropzone.js загрузка изображений принятаMimeTypes
Я использую плагин 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
?
Спасибо
Ответы
Ответ 1
Вы можете добавить дополнительные расширения в свой if
, например:
if (file.type != "image/jpeg" && file.type != "image/png") {
Это проверит, отличается ли тип файла от ВСЕХ указанных вами типов. Чтобы файл прошел проверку, он должен отличаться от изображения /jpeg AND image/png
Обновление
Я бы посоветовал посмотреть enyo answer, так как он является автором Dropzone.
Ответ 2
Я автор Dropzone.
Вы должны использовать acceptedMimeTypes
acceptedFiles
. Это ведет себя точно так же, как свойство input
element accept
. Таким образом, даже резерв будет работать правильно.
Допустимые свойства acceptedFiles
могут выглядеть следующим образом:
-
audio/*
-
image/*
-
image/jpeg,image/png
- и т.д...
EDIT: в последних версиях Dropzone это свойство называется acceptedFiles
, и оно также позволяет определять расширения. Таким образом, это сработает:
"audio/*,image/*,.psd,.pdf"
(Для обратной совместимости acceptedMimeTypes
будет работать до следующего основного выпуска)
Ответ 3
спасибо, это сработало.... круто... просто вставь эту строку в 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 активна, эта опция также будет использоваться в качестве параметра accept для ввода скрытого файла.
Ответ 4
var myDropzone = new Dropzone('div#profile_pictures',{
acceptedFiles: "image/*", /*is this correct?*/
init: function(){
this.on("success", function(file, data) {
/*..*/
});
}
})
Ответ 5
var dz = $("#FileUpload").dropzone({acceptedFiles: ".jpeg"})[0];
Ответ 6
Если кому-то интересно (я не могу комментировать пост Enyo): у меня были проблемы с применением опций Dropzone, и после исследования я заметил, что версия jQuery jquery-3.2.1.min.js, которую я использовал был причиной его неисправности