Flask 可以 send file 直接(response)返回页面一张图片吗?(不在本地磁盘上保存一次)

2019-12-09 12:26:30 +08:00
 miniyao

用户点击之后,PIL image 生成一张图片返回给页面。但是这个图片不想在本地保存 /删除一次,直接用二进制的数据流完成,可以实现吗?

4084 次点击
所在节点    Python
4 条回复
Trim21
2019-12-09 12:28:25 +08:00
用 ByteIO
Latin
2019-12-09 15:46:42 +08:00
@app.route("/image")
def gen():
img = Image.new("RGB", (350, 40), (123, 222, 222)) # 颜色模式,长宽,rgb 里面的颜色
f = BytesIO()
img.save(f, "png")
resp = make_response(f.getvalue())
resp.headers["Content-Type"] = "image/jpeg"
return resp
superrichman
2019-12-09 16:34:55 +08:00
上次在这里讨论过
https://www.v2ex.com/t/619626
XGF
2019-12-09 18:16:08 +08:00
flask 的 Response 或者 make_response 都行

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/627227

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX