Несовпадение двоичных данных, отправленных с помощью запроса POST, и данных, полученных Flask - PullRequest
0 голосов
/ 25 января 2019

Я пытаюсь отправить файл в многочастном / связанном POST-запросе в мое приложение Flask. В JavaScript я строю запрос следующим образом:

var XHR = new XMLHttpRequest();
var enc = new TextDecoder("ascii");
var boundary = "DICOM FILE";
var data = "";
data += "--" + boundary + "\r\n";
data += 'Content-Type: application/dicom\r\n';
data += '\r\n';
data += enc.decode(file.binary) + '\r\n';
data += "--" + boundary + "--";
XHR.open('POST', '/stowrs/studies');
XHR.setRequestHeader('Content-Type','multipart/related; type=application/dicom boundary=' + boundary);
//XHR.setRequestHeader('Content-Type','application/octet-stream');
XHR.send(data);
console.log(data.length)

В нем указано, что длина данных равна 209. В теле запроса в отладчике браузера я могу подтвердить это.

Когда я получу этот запрос во Фляске:

 len(request.get_data())

Это говорит, что длина данных в байтах составляет 210

Обратите внимание, что то же самое происходит, когда я задаю Content-Type для application / octet-stream

Что здесь происходит? В шестнадцатеричном редакторе я вижу, что в файле введен байт. Я рад предоставить файл также, если это необходимо.

...