我使用DropzoneJs -https://github.com/enyo/dropzone我想自动恢复失败的上传。
我检查了这个问题,有一个解决这个问题的方法
https://github.com/enyo/dropzone/issues/1150#issuecomment-253480122
这是我现有的Dropzone配置(我试图添加代码,但无法成功)
var total_photos_counter = 0;
Dropzone.options.myDropzone = {
uploadMultiple: true,
parallelUploads: 1,
maxFilesize: 100,
previewTemplate: document.querySelector('#preview').innerHTML,
addRemoveLinks: true,
dictRemoveFile: 'Resmi Sil',
dictFileTooBig: 'Dosya 100 MB den büyük. Daha küçük boyutlu bir fotoğraf yükleyiniz' ,
acceptedFiles: '.jpeg,.jpg,.png,.zip',
dictCancelUpload: 'Yüklemeyi İptal Et',
dictInvalidFileType: "Bu tip bir dosyayı yükleyemezsiniz. Sadece resim ve Zip yükleyebilirsiniz.",
timeout: 100000000,
init: function () {
this.on("removedfile", function (file) {
$.post({
url: '/images-delete',
data: {id: file.name, _token: $('[name="_token"]').val()},
dataType: 'json',
success: function (data) {
total_photos_counter--;
$("#counter").text("# " + total_photos_counter);
}
});
});
},
success: function (file, done) {
total_photos_counter++;
$("#counter").text("# " + total_photos_counter);
},
error: function (file,response) {
var dropzoneFilesCopy = dropzone.files.slice(0);
dropzone.removeAllFiles();
$.each(dropzoneFilesCopy, function(_, file) {
if (file.status === Dropzone.ERROR) {
file.status = undefined;
file.accepted = undefined;
}
dropzone.addFile(file);
});
}
};
我如何将这个解决方案添加到我的配置js中。只是添加到文件的末尾对我来说没有任何意义。
var dropzoneFilesCopy = dropzone.files.slice(0);
dropzone.removeAllFiles();
$.each(dropzoneFilesCopy, function(_, file) {
if (file.status === Dropzone.ERROR) {
file.status = undefined;
file.accepted = undefined;
}
dropzone.addFile(file);
});
1条答案
按热度按时间li9yvcax1#
您可以在Dropzone配置的
init
部分中使用它,在init
中使用errormultiple
事件,如下所示注意:你需要在你正在使用的脚本中相应地改变变量。