我希望每个人都做得很好。 我正面临着关于图像的问题,我有一个cgi页面,即Login.cgi,在html部分,我已经包含了一些图像,但有些正在显示,有些则没有。
以下是代码:
#!C:\perl\bin\perl.exe
use CGI::Carp qw(warningsToBrowser fatalsToBrowser);
use strict;
print "Content-type: text/html\n\n";
print <<END2;
<html>
<head><title>LOGIN</title></head>
<body>
<table>
<tr>
<td background="C:/Program Files/Apache Software Foundation/Apache2.2/cgi-
bin/template_3/images/login2222.PNG" style="height: 135px; width:
100px;">
<img src="C:/Program Files/Apache Software Foundation/Apache2.2/cgi-
bin/template_3/images/ineer-top-left.gif"/>
</td>
</tr>
</table>
</body>
</html>
END2
在这两个图像中,td标签的“背景图像”正在正确显示,但不是td内的图像。
实际上, 我尝试将内容类型更改为“image / gif”,但它不起作用。 我尝试将src更改为“../template_3/images/ineer-top-left.gif”或类似的东西 “〜/ template_3 / images / ineer-top-left.gif”,但它没有用。
当我右键单击浏览器中的图像并选中“属性”时,它会提供TYPE:不可用 尺码:不可用 但是ADDRESS(URL)是正确的。 任何人都可以帮我找到解决方案。谢谢你
答案 0 :(得分:4)
由于你正在调用这个CGI,你必须运行一个Web服务器(apache?),所以我猜你在localhost上访问它。在这种情况下,请考虑使用相对路径,如“/cgi-bin/template_3/images/ineer-top-left.gif”或绝对路径,如“http://127.0.0.1/cgi-bin/template_3/images/ ineer-top-left.gif“而不是文件系统上的位置。您可能需要使用存储图像的位置以及站点根目录的位置。
答案 1 :(得分:3)
首先,您为图片提供的网址必须是真实的网址,而不是文件路径。
其次,您的Web服务器可能配置为认为cgi-bin目录中的所有内容都是CGI程序。这意味着如果您为其指定一个指向该目录的URL,则Web服务器将尝试执行该程序而不是直接提供该内容。您需要将静态内容(如图像)移出cgi-bin目录。
答案 2 :(得分:1)
希望这可能有效
#!C:\perl\bin\perl.exe
use CGI::Carp qw(warningsToBrowser fatalsToBrowser);
use strict;
print "Content-type: text/html\n\n";
print '
<html>
<head><title>LOGIN</title></head>
<body>
<table>
<tr>
<td background="../login2222.PNG" style="height: 135px; width:
100px;">
<img src="../ineer-top-left.gif"/>
</td>
</tr>
</table>
</body>
</html>
';