python – 使用WSGI创建动态图像,不涉及任何文件

我想将动态创建的图像发送给我的用户,例如图表,图形等.这些图像是“丢弃”图像,它们只会被发送给一个用户然后被销毁,因此“没有涉及文件”.

我想将图像直接发送给用户,而不是先将其保存在文件系统中.使用PHP,可以通过将HTML文件中的图像链接到PHP脚本来实现,例如:

编辑:SO吞下我的图片标签:

<img src="someScript.php?param1=xyz">

然后,脚本将正确的标头(filetype => jpeg等)发送到浏览器,并直接将图像写回客户端,而不会暂时将其保存到文件系统.

我怎么能用WSGI应用程序做这样的事情.目前我正在使用Python的内部SimpleWSGI服务器.我知道这个服务器主要用于演示目的而不是实际使用,因为它缺乏多线程功能,所以请不要指出这一点,我知道这一点,现在它满足了我的要求: )

是否真的像将URL放入图像标签并使用WSGI处理请求一样简单,还是有更好的做法?

有没有人有这方面的经验,可以给我一些指示(请不要32位)

谢谢,

汤姆

解决方法:

它与WSGI或php或任何其他特定的Web技术无关.考虑

<img src="someScript.php?param1=xyz">

一般来说,对于url someScript.php?param1 = xyz服务器应该返回图像类型的数据,它会起作用

考虑这个例子:

from wsgiref.simple_server import make_server

def serveImage(environ, start_response):
    status = '200 OK'
    headers = [('Content-type', 'image/png')]
    start_response(status, headers)

    return open("about.png", "rb").read()

httpd = make_server('', 8000, serveImage)
httpd.serve_forever()

这里任何指向serveImage的url都会返回一个有效的图像,你可以在任何img标签或任何其他可以使用图像的标签处使用它. css或背景图片

可以使用许多第三方库动态生成图像数据,例如PIL等
例如,参见使用python成像库动态生成图像的示例
http://lost-theory.org/python/dynamicimg.html

上一篇:python – Django:只有空白页面


下一篇:win10 Apach+mod_WSGI+Python3.6部署Flask服务