Lighttpd Web服务器不显示.png或.jpg图像

时间:2017-12-20 12:18:45

标签: python html raspberry-pi lighttpd

我正在尝试在我的lighttpd网络服务器上创建一个基于.png图像的按钮。

问题在于,当我将Raspberry Pi IP地址放入地址栏时,图像不会显示出来。如果我直接从图像将显示的目录中打开文件index.html。

这告诉我,lighttpd需要某种形式的权限来访问图像,但我不确定是否是这种情况以及我将如何纠正这一点。

我的index.html代码如下所示,我检查了确切的文件位置,它们与代码匹配。

<html>
<head>
<script language="JavaScript">
var xmlhttp;
xmlhttp=new XMLHttpRequest();

function forward()
   {
       xmlhttp.open("GET","/var/www/html/forward.py", true);
       xmlhttp.send();
   }

</script>
</head>
<body>
<h1> Internet controlled robot vehicle </h1>
<img src="/var/www/html/forwardbutton.png" id="t" onmousedown="forward()">
</body>
</html>

非常感谢提前

1 个答案:

答案 0 :(得分:1)

<img src="/var/www/html/forwardbutton.png" id="t" onmousedown="forward()">

这不是网络的运作方式。 src属性应该是一个URL,浏览器可以使用该URL来获取图像。它不能是Web服务器上的本地路径,因为浏览器无法直接访问Web服务器上的文件。

假设您的index.html与图片位于同一目录中,请使用相对网址来引用图片:

<img src="forwardbutton.png" id="t" onmousedown="forward()">

要检查权限是否设置正确,您可以直接在浏览器中打开图像。只需导航到URL:

http://<ip address of your Pi>/forwardbutton.png

对于您似乎正在尝试的XHR也是如此,尽管为什么您想要将Python脚本下载到浏览器中我不清楚。