Это действительно нишевая проблема, поэтому мне просто интересно, есть ли у кого-нибудь эта проблема. Мне нужно перетаскивать файлы «.eml» из thunderbird в текстовую область, а затем отправлять файлы на сервер с помощью ax ios.
. Проблема, с которой я столкнулся, заключается в том, что все работает когда я перетаскиваю файлы «.eml» из проводника, я могу получить файл и затем отправить его на свой сервер с помощью ax ios. Но когда я перетаскиваю прямо из приложения thunderbird (68.7.0 (32 бита)) в мою текстовую область, файл регистрируется в моем массиве файлов, но когда я пытаюсь отправить его на сервер, вызов xhr никогда не завершается sh и мои файлы никогда не удаляются.
Я пытался удалить один и тот же файл ".eml" из моего проводника и из Thunderbird, когда я их регистрирую, они выглядят одинаково. Самое странное, что все работает нормально, когда я пробую на chrome. К сожалению, большинство моих клиентов используют mozilla, которая не работает.
Может быть, что-то отличается от браузеров, которых я не знаю?
Я использую vueJs для обработки событий.
вот текстовая область:
<textarea @drop.prevent="dropFileCommentHandler" @dragover.prevent></textarea>
обработчик событий этой текстовой области:
dropFileCommentHandler(evt) {
var items = evt.dataTransfer.files;
for (var i = 0; i < items.length; i++) {
this.files.push(items[i]);
}
}
метод, вызываемый при отправке моих файлов:
function envoiePiecesJointes(num, user, files, nouvelleFiche, idMessage) {
let formData = new FormData();
var data;
for (var i = 0; i < files.length; i++) {
let file = files[i];
formData.append('files[' + i + ']', file);
}
axios.post('ajax/server.php', formData, {headers: {'Content-Type': 'multipart/form-data'}}).then((response) => {
console.log(response);
}).catch((error) => console.log(error));
}