Мне нужно предупредить пользователя, если он загружает и существует (на сервере) файл; я сделал это на accept
функция, как это:
var myDropzone = new Dropzone("form#allegati", {
acceptedFiles: "image/*,.docx,application/pdf",
url: "allegati.php", // Set the url,
dictRemoveFileConfirmation: "Sei sicuro?",
maxFilesize: 10,
thumbnailWidth: 80,
thumbnailHeight: null,
parallelUploads: 20,
createImageThumbnails: true,
previewTemplate: previewTemplate,
autoQueue: true, // Make sure the files aren't queued until manually added
previewsContainer: "#previews", // Define the container to display the previews
clickable: ".fileinput-button", // Define the element that should be used as click trigger to select files.
accept: function (file, done) {
var idIncarico = GetURLParameter('idIncarico');
$.ajax({
// AJAX POST TO CHECK IF FILE EXISTS ON THE SERVER (RETURN TRUE/FALSE)
type: 'POST',
url: 'allegati.php?checkExisting=true&id='+idIncarico,
data: { fileName: file.name },
async: false,
dataType: 'json',
success: function(data) {
// ASKS THE USER TO OVERWRITE
if (data) {
var q = confirm("File esistente. Vuoi sovrascrivere?");
if (q == false){
// IF USER CANCEL UPLOAD:
done("no");
} else {
// IF USER CONFIRM UPLOAD:
done();
}
} else {
done();
}
}
});
},
init: function() {
this.on("error", function(file){
// I GET HERE WHEN USER CLICK ON "CANCEL"console.log(myDropzone);
});
[CUTTED]
Кажется, что все работает, кроме случаев, когда пользователь отменяет загрузку: файл в очереди остается там.
Я не должен вызывать removeFile (file), потому что у меня есть ajax-скрипт, также связанный с каждой кнопкой «delete» для каждого файла, который удаляет существующий файл с сервера (из-за того же имени файла) …
Есть ли способ удалить отклоненный без звонка removeFile(file)
?
Снимок экрана прилагается
Alex
Задача ещё не решена.
Других решений пока нет …