Вот тело POST для текстового файла:
-----------------------------622549980897071543746160662
Content-Disposition: form-data; name="file"; filename="Poetry"
Content-Type: application/octet-stream
By the old Moulmein Pagoda, lookin' eastward to the sea,
There's a Burma girl a-settin', and I know she thinks o' me;
For the wind is in the palm-trees, and the temple-bells they say:
"Come you back, you British soldier; come you back to Mandalay!"
-----------------------------622549980897071543746160662--
Однако при отправке нетекстового файла запрос постоянно обрывается на 4 байте файла.
Вот запрос при передаче нетекстового файла:
-----------------------------18187035351593489797106346514
Content-Disposition: form-data; name="file"; filename="35d5dd3709883208f4f61bfa8121b00d.jpg"
Content-Type: image/jpeg
ЪьЪЮ
Пробовал использовать cgi.FieldStorage. Но тут какието чудеса. Вывожу fields.getlist(“file”) (fields экземпляр cgi.FieldStorage) получаю список из одной строки:
['\xff\xd8\xff\xe0\x00\x10JFIF\x00\x01\x01\x01\x00H\x00H\x00...(пропущено)...\x8f?\xff\xd9']
Однако если сделать:
file.write(fields.getlist("file")[0])
Возникло подозрение что питон обрезает строку до первого символа \x00, но ответа почему так и как с этим бороться я так и не нашел.