如何使用python请求模块(包括文件和数据)进行流上传?

时间:2013-12-29 21:59:21

标签: python http file-upload python-requests

我有这段代码python requests代码段(部​​分)将文件和一些数据上传到服务器:

files = [("FileData", (upload_me_name, open(upload_me, "rb"), "application/octet-stream"))]
r = s.post(url, proxies = proxies, headers = headers, files = files, data = data)

因为这会将整个文件读入内存,这在某些情况下可能会导致一些问题。从requests documentation开始,我知道它支持这样的流媒体上传:

with open('massive-body') as f:
    requests.post('http://some.url/streamed', data=f)

但是我不知道如何更改原始代码以支持流式传输。有人可以帮忙吗?

感谢。

1 个答案:

答案 0 :(得分:4)

目前请求不支持执行包含比单个文件更多数据的流式上传。您在data上发送POST这一事实意味着您正在进行多部分文件上传,目前请求并未向您提供任何流式传输方式。