Я загружаю изображение PDF через форму на веб-интерфейсе, затем отправляю его на сервер и сохраняю там. Я использую передний объект FormData для хранения изображения. Сохранение его в бэкэнд устанавливает заголовок типа контента на Content-Type: application/octet-stream
. Сохранение с помощью nodejs работает следующим образом:
fs.writeFile(this.TMP_FILE, fileBinary, 'binary', (err) => {
if (err) {
reject(new TechError('File upload error_stage1'));
}
resolve();
})
Это рабочий код, но я не совсем понимаю, почему, потому что, когда вы регистрируете полезную нагрузку в консоли, вы получаете что-то вроде:
------WebKitFormBoundaryzeBEQrZzkzny72uz
Content-Disposition: form-data; name="file"; filename="5b929145ca1f9c2394e4b2e9-1PDF.pdf"
Content-Type: application/pdf
------WebKitFormBoundarysAZurrUo3QA6bEO7
Content-Disposition: form-data; name="file"; filename="1PDF.pdf"
Content-Type: application/pdf
%âãÏÓ1.3
O 9/E 3524/N 1/T 7656/H [ 451 137]>>
<</DecodeParms<</Columns 4/Predictor 12>>/Filter/FlateDecode/ID[<4DC91A1875A6D707AEC203BB021C93A0><F6C92B368A8A13408457A1D395A37EB9>]/Index[7 21]/Info 6 0 R/Length 52/Prev 7657/Root 8 0 R/Size 28/Type/XRef/
W[1 2 1]>>stream
hÞbbd``b`²╔
где, как и в случае двоичных данных, я ожидал бы, что это будет массив битов типа [11110101010010110101010101...]
. Почему это работает?