小编Thi*_*yen的帖子

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)
Run Code Online (Sandbox Code Playgroud)

问题是代码在发送之前加载整个文件,并且在上传大文件时会遇到MemoryError.我环顾四周,流式传输数据的方式是设置

resp = session.post("my/url", headers=headers, data=f)
Run Code Online (Sandbox Code Playgroud)

但我需要在数据中添加{"composite":"NONE"}.如果没有,服务器将无法识别该文件.

python file-upload large-file-upload python-requests

10
推荐指数
1
解决办法
6784
查看次数