Я пытаюсь опубликовать вложение, загруженное в файл HTML, вводимое на веб-страницу через API-интерфейс для отдыха. В документации по API указано, что сообщение представляет собой прямой двоичный контент как тело HTTP-запроса, а не загрузку файла формы.
Мой код выглядит следующим образом:
$('#_testButton').bind('click', function () {
var file = document.getElementById('_testFile').files[0]
var reader = new FileReader();
reader.onload = function () {
$.ajax({
url: '/attachmentURL',
type: 'POST',
data: reader.result
})
}
reader.readAsBinaryString(file)
})
Мне нужно, чтобы это работало для нескольких разных mimeTypes, поэтому я не объявлял его в приведенном выше коде. Тем не менее, я попытался объявить contentType: "application/msword" для файла .doc, а также попробовал processData: false и contentType: false.
Данные публикуются там, где это необходимо. Однако, когда я открываю файл, я получаю сообщение, в котором говорится mimeType: application/x-empty с пустым файлом ИЛИ файлом с кучей двоичных символов. Я пробовал файлы .doc и файлы PDF, и результат одинаковый для обоих.
Кто-нибудь знает, что я могу изменить, чтобы сделать эту работу?