我正在编写一个cgi脚本来在浏览器中显示png图像。当用户点击“提交”时在HTML页面中,调用CGI程序来显示图像。
但这不适合我。该脚本正在尝试在浏览器中打开PNG图像,但该图像包含以下错误消息
"The image “http://localhost/cgi-bin/image.sh?subbtn=Submit” cannot be displayed, because it contains errors."
以下是CGI代码的片段。
!/bin/bash
echo "Content-type: text/html"
echo "Content-type: image/png"
echo ""
echo "<html>"
echo "<body>"
echo "Hi"
echo "<img src="/home/zaman/ssdggraph/SSDGhistory.png" alt="DG-Reports">"
echo "</body>"
echo "</html>"
如果我从上面的代码中删除了以下行,则会显示"DG-Reports"
标记中alt
部分中的文字img src
。
echo "Content-type: image/png"
此外,如果我在纯HTML页面中编写相同的代码,PNG图像显示正常。
请在代码中提示我缺少哪些内容以显示图片而没有任何错误?
答案 0 :(得分:2)
您应该指定可从浏览器访问的<IMG>
src
属性的网址。
/home/zaman/ssdggraph/SSDGhistory.png
不太可能满足该要求。 (你应该有点像http://path_known_to_webserver/SSDGhistory.png
)。
您可能还应该阅读网页和cgi脚本的概念。我会称CGI为“显示图像”,一些程序将在上述URL中引用,并在网页引用图像数据并浏览器请求后动态流出图像数据。这可能是你的意思,但有点不清楚。
答案 1 :(得分:0)
您必须使用内容类型,然后使用空行:
#!/bin/bash
echo "Content-type: image/png"
echo
cat /var/www/img/your-image.png