![](/img/trans.png)
[英]How to use same python cgi file on windows and linux (apache)?
[英]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
现在我知道如何解决这个问题:
C:\\Python20\\python.exe -u %s %s
。 我曾经这样写c:\\Python26\\python.exe %s %s
,它将创建错误的mime数据。 而“-u”表示无缓冲的二进制stdout和stderr。 #!E:/program files/Python26/python.exe -u
到python脚本的第一行。 感谢Ignacio Vazquez-Abrams一样!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.