用文件初始化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