如何将PIL生成的图像发送到浏览器?
我正在为我的应用程序使用烧瓶。我想将图像(由PIL动态生成)发送给客户端,而不保存在磁盘上。
任何想法如何做到这一点?
回答:
首先,你可以将映像保存到临时文件并删除本地文件(如果有):
from tempfile import NamedTemporaryFilefrom shutil import copyfileobj
from os import remove
tempFileObj = NamedTemporaryFile(mode='w+b',suffix='jpg')
pilImage = open('/tmp/myfile.jpg','rb')
copyfileobj(pilImage,tempFileObj)
pilImage.close()
remove('/tmp/myfile.jpg')
tempFileObj.seek(0,0)
其次,将临时文件设置为响应(根据此stackoverflow问题):
from flask import send_file@app.route('/path')
def view_method():
response = send_file(tempFileObj, as_attachment=True, attachment_filename='myfile.jpg')
return response
以上是 如何将PIL生成的图像发送到浏览器? 的全部内容, 来源链接: utcz.com/qa/415231.html