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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Lighttpd Web服务器不显示.png或.jpg图像相关的知识,希望对你有一定的参考价值。

我正在尝试在我的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>

提前谢谢了

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

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

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

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

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

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

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

以上是关于Lighttpd Web服务器不显示.png或.jpg图像的主要内容,如果未能解决你的问题,请参考以下文章

lighttpd 轻量级WEB服务器

使用lighttpd搭建轻量级web服务器详解

网站建设 | Nginx/Lighttpd/Apache三大web服务器对比分析

lighttpd 1.4.56 发布 高性能 Web 服务器

lighttpd URL重写

lighttpd io 多路复用分析