Я искал способы загрузки большого файла с дополнительными данными, но, похоже, не существует никакого решения. Чтобы загрузить файл, я использую этот код и он работает отлично с небольшим файлом:Запросы python Загрузка большого файла с дополнительными данными
with open("my_file.csv", "rb") as f:
files = {"documents": ("my_file.csv", f, "application/octet-stream")}
data = {"composite": "NONE"}
headers = {"Prefer": "respond-async"}
resp = session.post("my/url", headers=headers, data=data, files=files)
Проблема заключается в том, что код загружает весь файл перед отправкой, и я хотел бы работать в MemoryError при загрузке большого файлы. Я посмотрел вокруг, и путь к потоку данных, чтобы установить
resp = session.post("my/url", headers=headers, data=f)
, но мне нужно, чтобы добавить { «композит»: «NONE»} к данным. Если нет, сервер не распознает файл.
Рассматривая код в models.py, класс PreparedRequest, метод prepare_body, нет возможности использовать запросы для потоковой загрузки большого файла с дополнительными данными. –