Помогите разобраться в чем проблема.
Хочу залить файл на сервер, использую библиотеку requests.
Маленький файл льется отлично, с большим файлом беда - не уходит.
Код:
import requests
r = requests.get('запорос на урл')
upload_url = r['урл сервера']
file = {'video_file': ('1.mp4', open('S:/1.mp4', 'rb'))}
r2 = requests.post(upload_url, files=file)
ответ питона
Traceback (most recent call last):
File "S:/charm/projects/2.py", line 13, in
equests\api.py", line 112, in post
return request('post', url, data=data, json=json, **kwargs)
File "S:\charm\projects\venv\lib\site-packages
equests\api.py", line 58, in request
return session.request(method=method, url=url, **kwargs)
File "S:\charm\projects\venv\lib\site-packages
equests\sessions.py", line 494, in request
prep = self.prepare_request(req)
File "S:\charm\projects\venv\lib\site-packages
equests\sessions.py", line 437, in prepare_request
hooks=merge_hooks(request.hooks, self.hooks),
File "S:\charm\projects\venv\lib\site-packages
equests\models.py", line 308, in prepare
self.prepare_body(data, files, json)
File "S:\charm\projects\venv\lib\site-packages
equests\models.py", line 496, in prepare_body
(body, content_type) = self._encode_files(files, data)
File "S:\charm\projects\venv\lib\site-packages
equests\models.py", line 159, in _encode_files
fdata = fp.read()
MemoryError
Повторю, маленькие файлы грузит отлично.
Что не так?
Ответ
Попробуйте использовать requests-toolbelt
# pip install requests-toolbelt
from requests_toolbelt import MultipartEncoder
# pip install requests
import requests
upload_file = open('S:/1.mp4', 'rb')
payload = MultipartEncoder({'1.mp4': upload_file})
rs = requests.post('
Комментариев нет:
Отправить комментарий