通过Python WSGI应用发送后图像失真
很多时候,当我通过WSGI(使用wsgiref
)发送图片数据时,图片会变得扭曲。比如,看看下面这个例子:
(来源: evanfosmark.com)
3 个回答
0
可能结果被截断了?试试用 wget
或 curl
直接下载这个文件,然后用 cmp
命令和原始图片对比一下;这样可以帮助你找出问题。除此之外,哪怕你的代码很简单,也请把完整的代码和环境信息发出来。
1
这和 \n
没有被正确转换有关。我要感谢 Alex Martelli 指引我找到了正确的方向。
3
因为你没有发代码,这里有一段简单的代码,它在Windows上用Python 2.5可以正常运行。
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()
也许你用的是"r"而不是"rb"。