尝试使用带有forms
和post
的 Requests 包将图像发送到 Flask 服务器。但是烧瓶服务器无法解析密钥image
。如何使用表格通过请求发送正确格式的图像。
烧瓶server.py
@app.route('/api/<model_name>/predict/', methods=['POST'])
def predict(model_name):
if "image" in request.files.keys():
return jsonify({"msg": "key found"})
print("image", request.files)
return str(), 200
请求client.py
def get_predictions(path):
url = "http://localhost:9020/api/fasterrcnn/predict/"
payload = {"image": (path.name, open(path, "rb"), "image/jpeg")}
headers = {'content-type': "multipart/form-data"}
response = requests.post(
url, data=payload, headers=headers, stream=True)
pprint(response.text)
有人可以告诉我可能的原因和解决方案吗?如果我错过了任何内容,或者过分强调或强调了一点,请在评论中告诉我。
答案 0 :(得分:1)
requests
documentation page指出,应使用files=
参数发布多部分文件。
示例:
import requests
def get_predictions(path):
url = "http://localhost:9020/api/fasterrcnn/predict/"
files = {"image": (path.name, open(path, "rb"), "image/jpeg")}
response = requests.post(url, files=files)
pprint(response.text)