DropzoneJS ограничивает выбор файлов одним файлом, но позволяет последующие загрузки

Я пытаюсь ограничить количество файлов, которые пользователь может выбрать, используя параметр maxFiles: 1; однако это также мешает пользователю загружать второй, третий и т. д. файл, который я хочу. Я хочу, чтобы только выбор был ограничен одним файлом и разрешал последующие загрузки. Это возможно?

Вот мой код:

$(function() {
    var dropzone = new Dropzone('#avatar-wrapper', {
        url: '/uploads/avatar',
        clickable: '.upload',
        maxFilesize: 5,
        maxFiles: 1,
        previewsContainer: false,
        headers: {
            'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
        },
        init: function() {
            this.on('addedfile', function(file) {
                console.log('test');
                $('#loader').show();
            });

            this.on('success', function(file, result) {
                $('#avatar_url').val(result.url);
                $('#avatar').attr('src', result.url);
                $('#loader').hide();
            });
        }
    });
});

javascript,file-upload,image-uploading,dropzone.js,

0

Ответов: 2


5 принят
+25

Вместо исправления библиотеки DropZone вы можете сделать это изменение во время выполнения после инициализации элемента DropZone.

var dropzone = new DropZone('#avatar-wrapper', {
    // options ...
});
dropzone.hiddenFileInput.removeAttribute("multiple");

0

Обнаружено это в файле dropzone.js:

if (_this3.options.maxFiles === null || _this3.options.maxFiles > 1) {
    _this3.hiddenFileInput.setAttribute("multiple", "multiple");
}

и прокомментировал вторую строчку:

if (_this3.options.maxFiles === null || _this3.options.maxFiles > 1) {
    //_this3.hiddenFileInput.setAttribute("multiple", "multiple");
}

это решило мою проблему; однако было бы неплохо, если бы это было реализовано в DropzoneJs

JavaScript, файлы загрузка, изображения загрузка, dropzone.js,
Похожие вопросы