3 回答
TA贡献1785条经验 获得超4个赞
用数据创建一个响应对象,然后设置内容类型标题。attachment如果希望浏览器保存文件而不显示文件,则将内容处置标题设置为。
@app.route('/images/<int:pid>.jpg')
def get_image(pid):
image_binary = read_image(pid)
response = make_response(image_binary)
response.headers.set('Content-Type', 'image/jpeg')
response.headers.set(
'Content-Disposition', 'attachment', filename='%s.jpg' % pid)
return response
相关:werkzeug.Headers和flask.Response
您可以将类似文件的Oject和header参数传递send_file给它,以设置完整的响应。使用io.BytesIO二进制数据:
return send_file(
io.BytesIO(image_binary),
mimetype='image/jpeg',
as_attachment=True,
attachment_filename='%s.jpg' % pid)
TA贡献1886条经验 获得超2个赞
假设我已经存储了图像路径。以下代码有助于发送图像。
from flask import send_file
@app.route('/get_image')
def get_image():
filename = 'uploads\\123.jpg'
return send_file(filename, mimetype='image/jpg')
uploads是我的文件夹名称,其中包含123.jpg的图像。
[PS:上载文件夹应位于脚本文件的当前目录中]
希望能帮助到你。
添加回答
举报