Я пытаюсь загрузить большой файл через API на удаленный сервер, которому требуется API_KEY в запросе с использованием метода POST. Я использую Python 3.11.4, и моя функция работает с небольшими файлами, но не работает с файлами большего размера (3 ГБ). Я могу загрузить файл через веб-сайт, поэтому проблема не в размере файла. Вот моя функция:
Код: Выделить всё
def upload_file(server, key_name, key_value, file):
with open(file, 'rb') as f:
return(requests.post(server, files={'file':f}, data={key_name: key_value}))
Это работает для небольших файлов размером около 300 МБ. При попытке загрузить файлы большего размера я получаю следующую ошибку:
Код: Выделить всё
File "C:\Users\Username\AppData\Local\Programs\Python\Python311\Lib\site-packages\urllib3\filepost.py", line 92, in encode_multipart_formdata
body.write(b"\r\n")
MemoryError
Будем благодарны за любую помощь.
Подробнее здесь:
https://stackoverflow.com/questions/792 ... -in-python