将图像返回到python中的浏览器,cgi-bin
我试图在cgi-bin中设置一个python脚本,它只返回一个内容类型为image/png的头并返回图像。我尝试打开图像并使用打印f.read()返回它,但这不起作用 编辑: 我尝试使用的代码是:将图像返回到python中的浏览器,cgi-bin,python,image,apache2,cgi-bin,Python,Image,Apache2,Cgi Bin,我试图在cgi-bin中设置一个python脚本,它只返回一个内容类型为image/png的头并返回图像。我尝试打开图像并使用打印f.read()返回它,但这不起作用 编辑: 我尝试使用的代码是: print "Content-type: image/png\n\n" with open("/home/user/tmp/image.png", "r") as f: print f.read() 这是在ubuntu服务器10.04上使用apache。当我在chrome中加载页面时,我会得
print "Content-type: image/png\n\n"
with open("/home/user/tmp/image.png", "r") as f:
print f.read()
这是在ubuntu服务器10.04上使用apache。当我在chrome中加载页面时,我会得到损坏的图像,当我在firefox中加载页面时,我会得到图像http://localhost/cgi-bin/test.py无法显示,因为它包含错误。
将其写入sys.stdout
print“Content-type:image/png\n\n”
实际上打印了3行换行符(因为print会在末尾自动添加一行“\n”。这可能会破坏png文件你是否在标题后面包括了空白行?如果不是,那不是你的页眉的结尾!
打印“内容类型:图像/png”
打印
打印f.read()
如果你发布代码,你会得到更好的回复。此外,如果你能描述正在发生的事情,而不仅仅是“那不起作用”“,我们将从中获得更多工作线索。是的,#3就是它。感谢您的跟进。@adamk如果我想从脚本中执行某个内容,然后执行它,它对我无效。假设我想创建一个文件,然后关闭它。它返回图像,但该文件不会在服务器上创建。有任何输入吗?#!/usr/bin/env python import sys f=open('workfile','w')f.close()filename=“th_goldhill.png”sys.stdout.write”(“内容类型:image/png\r\n\r\n”+文件(filename,“rb”).read())如何确保所有字符串都正确读取?
。我尝试了此方法数百万次,但没有任何成功。您对打印功能有何想法?版主在哪里?不要浪费用户的生命!-1
sys.stdout.write( "Content-type: image/png\r\n\r\n" + file(filename,"rb").read() )