其他分享
首页 > 其他分享> > 用文件初始化Dropzone不会施加maxFiles的限制

用文件初始化Dropzone不会施加maxFiles的限制

作者:互联网

当我初始化其中包含文件的Dropzone时,知道将maxFiles设置为1,在得到maxfilesexceeded错误之前,我仍然能够向dropzone添加1个其他文件.

这是dropzone初始化的示例:

<div id="pdfs-dz" class="dropzone">
    <div class="dz-default dz-message">Drop PDFs here</div>
</div>

<script>
pdf_files = ['afile.pdf']

Dropzone.autoDiscover = false;

$('#pdfs-dz').dropzone({
    url: '/add-file/pdfs/',
    acceptedFiles: 'application/pdf',
    maxFilesize: 5,
    maxFiles: 1,
    error: function (file, response) {
        console.log('Upload failed');
        console.log(response);
        this.removeFile(file);
        $(file['previewElement']).remove();
    },
    init: function () {
        dz = this;
        pdf_files.forEach(function (val, index) {
            mockFile = {name: val, uploaded_name: val};
            dz.emit('addedfile', mockFile);
            dz.emit('complete', mockFile);
            $(dz.element).find('.dz-size').remove();
            dz.files.push(mockFile);
        });
    }
});
</script>

我在那里当然使用jQuery. pdf_files中的文件列表是从后端生成的,我将maxFiles限制更改为1,以便更轻松地解释问题.

Dropzone通常对我而言效果很好,这只是maxFiles的限制,除非用户删除了文件,否则不会强制执行,但不会使用此初始化.

那么我是否缺少某些东西,或者是一个错误?

解决方法:

我有同样的问题,我通过在模拟文件中添加accept:true解决了它.

mockFile = {名称:val,上载名称:val,已接受:true};

标签:dropzone-js,javascript,jquery
来源: https://codeday.me/bug/20191119/2033550.html