当我用一个文件初始化dropzone时,知道maxFiles被设置为1,在收到maxfilesexceeded错误之前,我仍然能够向Dropzone中添加一个额外的文件。
以下是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限制,除非用户删除文件,否则不会强制执行,而不是使用这个初始化。
那么我是遗漏了什么呢,还是有个bug呢?
发布于 2016-08-01 22:43:03
我也遇到了同样的问题,我通过向mockFile添加accepted: true解决了这个问题。
mockFile = {name: val, uploaded_name: val, accepted: true};
https://stackoverflow.com/questions/35095347
复制相似问题