проблема с отправкой файлов .eml из thunderbird в textarea с помощью @ drop.prevent на mozilla - PullRequest
0 голосов
/ 27 апреля 2020

Это действительно нишевая проблема, поэтому мне просто интересно, есть ли у кого-нибудь эта проблема. Мне нужно перетаскивать файлы «.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));
}
...