首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用请求发布上传的文件

使用请求发布上传的文件
EN

Stack Overflow用户
提问于 2015-09-08 14:34:05
回答 1查看 3.5K关注 0票数 6

我从一个HTML表单中接收到一个文件,并希望使用请求将它发送到另一个服务。在目标服务中,传入的请求不包含文件。如何上传上传的文件?

代码语言:javascript
复制
f = request.files['file']
sendFile = {"file": FileStorage(filename=f.filename, stream=f.stream, content_type=f.content_type, content_length=actualSize)}

c = checksumMD5(f.stream)
r = requests.post("http://myservicedotcom/upload", files=sendFile,
                  headers={"X-Auth-Token":token, "Checksum":checksumMD5(f.stream), "File-Size":actualSize})
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-08 14:40:17

您不需要将上传的文件包装在FileStorage实例中;这是Werkzeug (支撑Flask的库)的实现细节。

相反,您需要在创建校验和之后倒带您的流:

代码语言:javascript
复制
f = request.files['file']
c = checksumMD5(f.stream)
f.seek(0)

sendFile = {"file": (f.filename, f.stream, f.mimetype)}

r = requests.post("http://myservicedotcom/upload", files=sendFile,
                  headers={"X-Auth-Token": token, "Checksum": c, "File-Size": actualSize})
票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32460524

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档