Подтвердить что ты не робот

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?

Спасибо

4b9b3361

Ответ 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, которую я использовал был причиной его неисправности