Kil*_*izo 12 html python cgi http-headers
我有一个从python生成的网页,它可以正常工作,使用:
print 'Content-type: text/html\n\n'
print "" # blank line, end of headers
print '<link href="default.css" rel="stylesheet" type="text/css" />'
print "<html><head>"
Run Code Online (Sandbox Code Playgroud)
我想在此网页上添加图片,但是当我这样做时:
sys.stdout.write( "Content-type: image/png\n\n" + file("11.png","rb").read() )
print 'Content-type: text/html\n\n'
print "" # blank line, end of headers
print '<link href="default.css" rel="stylesheet" type="text/css" />'
...
Run Code Online (Sandbox Code Playgroud)
我得到的只是图像,如果我将图像代码放在我的html /文本标题下面,我得到的只是图像中的文字,即:
<Ï#·öÐδÝZºm]¾|‰k×®]žòåËÛ¶ÃgžyFK–,ÑôéÓU½zuIÒ}÷ݧ&MšH’V¯^?üð¼1±±±zýõ×%IñññÚºu«*W®¬wß}W.—K3gÎÔÌ™ÿw‹Ú””I’¹w¤¥hdÒd½q÷X•Šˆ²m¿þfïÞ½*]º´éÈs;¥¤¤Ø¿ILLÔˆ#rÊ
Run Code Online (Sandbox Code Playgroud)
另外,如果我尝试:
print "<img src='11.png'>"
Run Code Online (Sandbox Code Playgroud)
我在浏览器中看到一个损坏的图像,直接浏览图像会产生500内部服务器错误,我的apache日志说:
8)Exec format error: exec of './../../11.png' failed Premature end of script headers: 11.png
Run Code Online (Sandbox Code Playgroud)
Gli*_*der 44
您可以使用此代码直接在HTML中嵌入图像:
import base64
data_uri = base64.b64encode(open('Graph.png', 'rb').read()).decode('utf-8')
img_tag = '<img src="data:image/png;base64,{0}">'.format(data_uri)
print(img_tag)
Run Code Online (Sandbox Code Playgroud)
或者对于Python <2.6:
data_uri = open('11.png', 'rb').read().encode('base64').replace('\n', '')
img_tag = '<img src="data:image/png;base64,{0}">'.format(data_uri)
print(img_tag)
Run Code Online (Sandbox Code Playgroud)
对于python> 3替换第一行
data_uri = open('11.png', 'rb').read().encode('base64').replace('\n', '')
img_tag = '<img src="data:image/png;base64,%s">' % data_uri
print(img_tag)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
34959 次 |
| 最近记录: |