【发布时间】:2015-07-01 01:27:14
【问题描述】:
使用 DropzoneJS v4.0。
以下是为放置区设置的选项。
Dropzone.options.myDropzone = {
acceptedFiles: '.jpg,.jpeg,.png',
addRemoveLinks: true,
autoQueue: false,
clickable: false,
maxFiles: 1,
maxThumbnailFilesize: 2000,
parallelUploads: 10,
thumbnailWidth: null,
thumbnailHeight: null,
init: function() {
var dropzone = this;
dropzone.on("addedfile", function(file) {
if (!file.type.match(/image.*/)) {
dropzone.removeFile(file);
}else {
function();
}
});
dropzone.on("maxfilesexceeded", function(file) {
dropzone.removeFile(file);
});
dropzone.on("removedfile", function(){
if($('#imgEditor').find('img').length == 0) {
$('.overlay').remove();
$('#cropper').remove();
$('#upload').remove();
}
});
$(document).on('click', '#upload', function(){
dropzone.processQueue();
});
}
};
当我在addedfile 事件中单击从function() 动态生成的上传按钮时,没有任何反应。检查dropzone.getAcceptedFiles().length 会返回dropzone 中的文件数,但检查dropzone.getQueuedFiles().length 返回0。没有文件已上传或已触发上传,并且文件类型是有效的文件类型。
我需要帮助了解为什么文件会被视为已接受,但不会排队。我还没有找到解释差异的文档(如果有的话),并且在代码中看起来如果文件被接受,它应该被排队,但事实并非如此。所以我知道为什么processQueue 实际上会失败我只是不知道为什么排队会失败。
将autoQueue 更改为true 可以正确上传文件,但这不是预期的效果。请参阅Enyo FAQ Dropzone Submit Button。
Git #989
【问题讨论】:
标签: jquery dropzone.js