如何将PIL生成的图像发送到浏览器?

我正在为我的应用程序使用烧瓶。我想将图像(由PIL动态生成)发送给客户端,而不保存在磁盘上。

任何想法如何做到这一点?

回答:

首先,你可以将映像保存到临时文件并删除本地文件(如果有):

from tempfile import NamedTemporaryFile

from 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

回到顶部