python - 邮递员第二次向 Flask 发送发布请求时卡住了
问题描述
我正在创建一个应用程序,我必须从 Flask 中的 POST 调用中读取图像。我正在使用此问题中提供的说明来设置 Postman。我的 Flask 代码如下所示:
from flask import Flask, request, session
import cv2
# Initialize the Flask application
app = Flask(__name__)
@app.route('/predict', methods=['POST'])
def predict():
r = request
# convert string of image data to uint8
# decode image
imagefile = request.files.get('imagefile', '')
imagefile.save('temp.jpg')
img = cv2.imread('temp.jpg')
cv2.imshow("img", img)
cv2.waitKey()
cv2.destroyAllWindows()
return ("SUCCESS")
if __name__ == '__main__':
app.run(debug=True, port=5000)
该程序在第一次调用它时运行良好并正确显示图像,但是当我尝试再次调用它而不重新运行 python 代码时,它在发送请求时卡住了。请让我知道我做错了什么以及如何纠正它。我将 Ubuntu 18.04 与适用于 Linux 的 Postman 应用程序一起使用。
编辑
正如@ MaxTryk所建议的那样,我尝试添加断点来找到罪魁祸首,它是图像显示部分。
cv2.imshow("img", img)
cv2.waitKey()
cv2.destroyAllWindows()
但是,我仍然不知道为什么这些语句会导致第二个请求挂起,所以如果您知道任何更正它的方法,请告诉我。
解决方案
如果重新运行 python 代码可以解决问题,那么问题一定是代码,而不是 Postman - 我建议通过放置断点来调试以查看执行挂起的位置。
推荐阅读
- python - 在 Python 中进行子类化时 init 参数的奇怪行为
- javascript - 如何在道具数组中水平显示我的值
- html - 将鼠标悬停在链接上时从图片中删除灰度
- api - Laravel 使用 Passport 更新记录
- java - 如何从Java文件中读取一行中的每个整数?
- excel - 是否可以在列中找到不等于 1 的值并在同一字段中获取所有位置?
- linux - npm:在 Pycharm 中使用 NVM、NPM 创建 reactapp 时未找到
- r - GGPlot2在循环中为占位符添加空栏
- laravel-5 - SQLSTATE [HY000] [2002] 连接被拒绝(SQL:插入用户(姓名,电子邮件)值(mahmud,mahmudul@gamil.com))
- ios - 未能更改测试广告的尺寸