python запрашивает фрагментированный файл кодировки и метаданные - PullRequest
0 голосов
/ 05 февраля 2020

Как отправить данные формы и файлы с использованием кусочной кодировки?

Я пытался:

def gen():
  a = f.read(1024)
  while a:
    yield a
    a = f.read(1024)
r = requests.post(url, data=gen())

Это действительно отправка файла с использованием кусочной кодировки. Однако я не могу понять, как добавить к этому генератору имя файла и сформировать данные в формате {"key": "value"}.

1 Ответ

0 голосов
/ 05 февраля 2020

Похоже, я решил это с помощью questions_toolbelt:

from requests_toolbelt import MultipartEncoder

m = MultipartEncoder(
  fields = {
    "key": "value",
    "file1": ("my_file.zip", open("my_file.zip", "rb")),
  }
)

def gen():
  a = m.read(1024)
  while a:
    yield a
    a = m.read(1024)

r = requests.post(url, data=gen(), headers={'Content-Type': m.content_type})
...