之所以get获取不到图片,是因为请求都堆积在同一个时间点了,未能等待文件读取完毕。
一个页面有多张图片时常常只能显示前几张。
简单的处理方式如下:
# 依赖
from io import BytesIO
from flask import make_response
# 视图
@app.route('/data/image/<filename>',methods=['GET'])
def image_cache(filename):
img=open('data/image/{}'.format(filename),"rb")
img_io=BytesIO(img.read())
data=img_io.getvalue()
img_io.close()
response=make_response(data)
response.headers['Content-Type']='image/png'
return response
其实最好的方式应该是结合队列。但这个写法在简单demo展示中应该够用了...