Я отправляю объект файла на Ruby через AJAX примерно так:
var files = $("#upDOCS").prop('files'),
formData = new FormData();
for (var i = 0; i < files.length; i++) {
var file = files[i];
if (!file.type==='application/pdf') {
continue;
}
formData.append(file.name, file);
}
$.ajax({
xhr: function () {
var xhr = $.ajaxSettings.xhr();
xhr.upload.onprogress = function (e) {
console.log(Math.floor(e.loaded / e.total * 100) + '%');
};
return xhr;
},
url: "medcon/adddocs",
type: "POST",
enctype: 'multipart/form-data',
data: formData,
cache: false,
contentType: false,
processData: false,
success: function (locks) { ...
Но я получаю сообщение об ошибке, в котором говорится, что я отправляю неожиданный токен, который начинается с тире ----- Мне кажется, что у меня есть объект файла PDF, потому что ошибка также включает в себя данные PDF:
746: unexpected token at '------WebKitFormBoundarybp8j3mTAsTL4JrAq
Content-Disposition: form-data; name="test.pdf"; filename="test.pdf"
Content-Type: application/pdf
%PDF-1.4
%����
1 0 obj
<</Creator (Mozilla/5.0 \(Windows NT 10.0; Win64; x64\) AppleWebKit/537.36 \(KHTML, like Gecko\) Chrome/70.0.3538.110 Safari/537.36)
/Producer (Skia/PDF m70)
/CreationDate (D:20181130205113+00'00')
/ModDate (D:20181130205113+00'00')>>
endobj
2 0 obj
<</Type /XObject
/Subtype /Image
/Width 17
/Height 17
/ColorSpace /DeviceRGB
/SMask 3 0 R
/BitsPerComponent 8
/Filter /FlateDecode
/Length 144>> stream
x���I� ��S�7�M�'9eʈ���'�i3�1�d;��ӫ��9�;�h��X�����8��uV?�p����b�?���4ӵ�/����0䵍�����Z+?P���(C���@gjޏ~�f������?v��N
endstream
endobj
3 0 obj
<</Type /XObject
/Subtype /Image
/Width 17
/Height 17
/ColorSpace /DeviceGray
/BitsPerComponent 8
/Filter /FlateDecode
/Length 121>> stream
x�c`'
Где я ошибаюсь? Какой маркер Ialleagal я ввел или какое форматирование я пропустил?