繁体   English   中英

如何在windows + apache中使用python cgi显示mime数据

[英]how to show mime data using python cgi in windows+apache

我在使用python(2.6)cgi在Windows(apache)中显示mime数据时遇到问题。 例如,要显示图像,这是我的代码:image.py

#!E:/program files/Python26/python.exe
# -*- coding: UTF-8 -*-
data = open('logo.png','rb').read()
print 'Content-Type:image/png;Content-Disposition:attachment;filename=logo.png\n'
print data

但它不适用于Windows(xp或7)+ apache或IIS。 (我尝试以不同的方式编写这些代码,并尝试其他文件格式,jpg和rar,但没有正确的输出,输出数据似乎在开始行中无序。)

我在linux + apache中测试了这些代码,没关系!

#!/usr/bin/env python
# -*- coding: UTF-8 -*-
data = open('logo.png','rb').read()
print 'Content-Type:image/png;Content-Disposition:attachment;filename=logo.png\n'
print data

我只是感到困惑,为什么它不能在Windows中工作。 有人可以给我一些帮助和建议吗?

每个标题之间有一个换行符。 标头和正文之间的两条换行符。 并观察你的行结尾。

print 'Content-Type:image/png'
print 'Content-Disposition:attachment;filename=logo.png'
print

现在我知道如何解决这个问题:

  • 对于Windows + IIS:在添加应用程序映射(IIS)时,编写C:\\Python20\\python.exe -u %s %s 我曾经这样写c:\\Python26\\python.exe %s %s ,它将创建错误的mime数据。 而“-u”表示无缓冲的二进制stdout和stderr。
  • 对于windows + Apache:将#!E:/program files/Python26/python.exe -u到python脚本的第一行。

感谢Ignacio Vazquez-Abrams一样!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM