Я предлагаю следующее:
В методе успеха вы должны получить загруженный файл обратно в качестве первого аргумента (то, что у вас сейчас есть как data
), а вторым аргументом будет новое имя вы отправляете обратно (то, что у вас сейчас есть как textStatus
).
С этим вы можете l oop текущие файлы в Dropzone, находя правильный файл из списка на основе файла, который вы получить в качестве первого аргумента в ответе, а затем соответственно изменить его имя. Таким образом, когда вы нажимаете «Удалить», оно будет иметь правильное имя
. Обратите внимание на следующий измененный псевдокод , который предполагает, что вы отправляете новое имя файла с сервера.
var myDropzone = new Dropzone("div#dropzoneFileUpload", {
addRemoveLinks: true,
url: baseUrl+"/img/upload/store",
params: {
_token: token,
},
success: function (fileSentToServer, newFileName){
// Access the current files in the list/dropzone
var fileList = myDropzone.files;
// Loop over
fileList.forEach(file => {
//Find the corresponding file in the list you just uploaded
if(file.name == fileSentToServer.name) {
//Rename it
file.name = newFileName
}
})
},
removedfile: function(file) {
// This name should now be the renamed version
var name = file.upload.filename;
jQuery.ajax({...
},
});
Также возможно, что вам даже может не понадобиться l oop, если параметр file
, возвращаемый в методе успеха, является прямой ссылкой на файл в списке файлов.