当前位置: 首页 > 面试题库 >

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

慕容烨
2023-03-14
问题内容

我正在为我的应用程序使用烧瓶。我想将图像(由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


 类似资料:
  • 问题内容: 我正在尝试使用Play输出生成的图像。我不确定我的问题是否特定于Play。我正在尝试执行以下PHP代码相同的操作: 它看起来像我需要使用的,但我不知道如何从获取到的是希望作为其参数。 行动: 问题答案: 我在源代码中找到了导致该解决方案的示例: 在视图模板中使用引用。 由于某种原因,即使没有指定内容类型它也可以工作,但是我不确定如何。代码中包含了它,所以我保留了它,至少直到找到不使用它

  • 问题内容: 我需要拍摄图像并将其放置在新的生成的白色背景上,以便将其转换为可下载的桌面墙纸。因此该过程将进行: 生成具有1440x900尺寸的新全白图像 将现有图像放在顶部居中 另存为单个图像 在PIL中,我看到了该对象,但是没有任何迹象表明它可以将现有的图像数据绘制到另一个图像上。任何人都可以推荐的建议或链接? 问题答案: 这可以通过Image实例的方法来完成: 可以在Nadia Alramli

  • 问题内容: 我有一个生成图像的Java Applet。最终,我想将图像数据插入数据库中,因此我想将图像数据临时存储在包含小程序的页面上的表单字段中。我希望在不将图像文件存储在客户端计算机上的情况下执行此操作。 所有这些都来自签名板。这是一些应该从sigObj对象中存储的矢量数据生成位图图像的代码: image变量是BufferedImage对象。另外,如果我只是将图像变量发送回我的JavaScri

  • 浏览图像 可从已登录至频道的网页接收数据,并播放图像。 使用操作接口 播放幻灯片秀

  • 浏览图像 选择相片时,会显示以下的图标。 摄影机 连接PSP™专用摄影机(选购品)后,可拍摄静止图像或影像。 Memory Stick™ 可浏览保存于Memory Stick™的图像。 主机内存 可浏览保存于主机内存的图像。   相机图像 可浏览支持Memory Stick™之数码(数字)相机所拍摄的图像。 (文件夹) 仅于存在使用计算机新建之文件夹时显示。 (图像档案) 可浏览保存于Memory

  • 问题内容: 我正在使用python和图像模块(PIL)处理图像。 我想将图像对象的原始位流存储到redis,以便其他人可以使用nginx和httpredis直接从redis读取图像。 因此,我的问题是如何获取Image对象的原始位并将其存储到Redis中。 问题答案: 使用PIL 1.1.7,redis-2.7.2 pip模块和redis-2.4.10,我可以使它工作: 我发现这是不可靠的,因此此