【问题标题】:return png via python cgi on IIS在 IIS 上通过 python cgi 返回 png
【发布时间】:2012-01-12 21:08:54
【问题描述】:

我正在尝试使用 IIS 上的 python cgi 将 png 图像返回到浏览器。

我遇到了同样的问题: Return an image to the browser in python, cgi-bin

但是那里提供的解决方案在我的机器上不起作用。

以下是我的情况的简要介绍:

  1. 我在 C:\logs\demo.png 上有一个 png 图像,这个图像非常好,可以通过可视图像查看器打开;

  2. 我有一个 python 脚本,代码如下:

print 'HTTP/1.1 200 OK'
print 'Content-Type:image/png\n'
print file('c:\\logs\\demo.png', 'rb').read()

3 .当我访问相应的 url 时,没有返回任何内容,并且 firefox 说图像包含错误。响应中返回的长度也很小。

对这个问题有什么想法吗?我快疯了~

感谢任何回复:)

【问题讨论】:

  • print 不能完全保留内容 - 对于初学者来说,它会在文件数据之后添加换行符。我会使用 sys.stdout.write() 来确保你写的正是你的意思。编辑:另外,响应大小有多远 - 文件有多大以及报告的响应大小是多少? Firefox 和 IIS 同意吗?
  • sys.stdout.write() 也不起作用,和这里的 print 一样。图片40KB左右,但响应只有1KB左右。
  • 而奇怪的是,在另一个脚本中,我使用了sys.stdout.write,这个write返回了40KB的内容,但是还是没有图片显示。我已经仔细检查了标题和内容之间的两个换行符。

标签: python cgi png


【解决方案1】:

问题解决了。

最后发现IIS配置有错误。

扩展映射应该是:

c:\Python27\python.exe -u "%s" "%s"

-u 防止换行符转换为回车/换行符组合,这有时会导致问题

下面的文章可能对配置有用。非常详细和清晰。 http://python.net4geeks.com/iiswse.asp

【讨论】:

    猜你喜欢
    • 2023-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-27
    • 2010-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多