我从一个HTML表单中接收到一个文件,并希望使用请求将它发送到另一个服务。在目标服务中,传入的请求不包含文件。如何上传上传的文件?
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})发布于 2015-09-08 14:40:17
您不需要将上传的文件包装在FileStorage实例中;这是Werkzeug (支撑Flask的库)的实现细节。
相反,您需要在创建校验和之后倒带您的流:
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})https://stackoverflow.com/questions/32460524
复制相似问题