我想将动态创建的图像发送给我的用户,例如图表,图形等.这些图像是“丢弃”图像,它们只会被发送给一个用户然后被销毁,因此“没有涉及文件”.
我想将图像直接发送给用户,而不是先将其保存在文件系统中.使用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