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?

Спасибо

6 ответов

Решение

Вы можете добавить больше расширений к вашему if, вот так:

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

Это проверит, отличается ли тип файла от ВСЕХ указанных вами типов. Чтобы файл прошел проверку, он должен отличаться от image/jpeg и image/png

Обновить

Я бы посоветовал взглянуть на ответ Энё, так как он является автором Dropzone.

Я автор Dropzone.

Вы должны использовать acceptedMimeTypesacceptedFiles, Это ведет себя точно так же, как 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/

Реализация по умолчанию команды accept проверяет тип или расширение MIME файла по этому списку. Это разделенный запятыми список типов MIME или расширений файлов. Например.: 'image/*,application/pdf,.psd' Если Dropzone активна, эта опция будет использоваться в качестве параметра accept для ввода скрытого файла.

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];

В случае, если кому-то интересно (я не могу комментировать пост Enyo): у меня были проблемы с применением параметров Dropzone, и после расследования я заметил, что версия jQuery jquery-3.2.1.min.js, которую я использовал был причиной его неисправности

Другие вопросы по тегам