如何从使用python flask构建的服务器的http 200响应中读取内容?

时间:2018-05-08 12:38:33

标签: python rest flask

我使用python flask函数send_file将图像文件从服务器发送到客户端。我从服务器获得带有包含内容信息的标头的Http 200响应, response.text 返回字节串。目前服务器和客户端都在本地系统中。我想访问该文件并将其保存在客户端。 服务器代码:

@app.route("/ss", methods=["POST"])
def ss():
    return send_file("chap.jpg",attachment_filename="chap.jpg")

客户代码:

payload = {"image": image}
r = requests.post(http://127.0.0:5000/ss, files=payload)
print(r.text)

我尝试将字符串从r.text转换为numpy数组并将数组保存为jpg,但我得到了错误参数的TypeError。

2 个答案:

答案 0 :(得分:0)

你想上传文件? {“imagge”:图像不是像我这样的解决方案:

import requests

image = 'image.jpg'

payload = {'image':(image, open(image, 'r'),'multipart/from-data')},

url = 'http://127.0.0:5000/ss'

r = requests.post(url, files=payload)

print r.text

答案 1 :(得分:0)

您需要访问binary content of the response并将其保存到文件中。

with open('myfile.jpg', 'wb') as f:
    f.write(r.content)