Я пытаюсь использовать Requests, чтобы загрузить файл в форму, но я получаю обратно сообщение об ошибке с сервера Tomcat говоря:Установить имя заголовок многочастного закодированного POST файла
отправлен запрос на клиент был синтаксически неправильным.
После прочтения this answer мне удалось напечатать запрос, что я делаю, и при сравнении его с просьбой, в браузере я заметил, что полезная нагрузка запроса name
не выровнена, так что я предполагаю, это моя проблема.
В Просьбы docs для постинга многокомпонентные закодированные файлы показывает, что вы можете изменить имя файла, CONTENT_TYPE и заголовки в явном виде:
>>> url = 'http://httpbin.org/post'
>>> files = {'file': ('report.xls', open('report.xls', 'rb'), 'application/vnd.ms-excel', {'Expires': '0'})}
Это, кажется, работает хорошо, но, как упоминалось выше, я также нужно установить name
а также filename
и content-type
.
копаться на GitHub репо я нашел метод _encode_files
в models.py, который, кажется, чтобы для указания name
:
rf = RequestField(name=k, data=fp.read(),
filename=fn, headers=fh)
Но я не могу показаться, чтобы получить эту работу и в моем приложении, как и с приведенным выше примером, у меня есть имя файла, указанное перед ссылкой на файл:
files = {'file': (filename, open(filePath, 'rb'), 'application/x-zip-compressed')}
Что мне здесь не хватает?
Не могу поверить, что я этого не заметил. благодаря – ydaetskcoR