如何在网页上显示来自本地计算机的图像

新手上路,请多包涵

场景如下:我在 LAN 网络上有两台机器。其中之一充当网络服务器。当第二个客户端机器浏览器(Firefox)从服务器发出请求时,它发送以下 html

 <!DOCTYPE HTML>
<html>
<body>
<img src="C:\Users\General\Desktop\map1.jpg" align="middle">
</body>
</html>

但是图像不显示。我尝试了 img 标签的以下变体:

 <img src="C:/Users/General/Desktop/map1.jpg" align="middle">
<img src="file:///C:/Users/General/Desktop/map1.jpg" align="middle">
<img src="http://localhost//file:/C:/Users/General/Desktop/map1.jpg" align="middle">

有趣的是,如果我查看页面源并将 html 内容保存到本地文件并在浏览器中打开它,它就可以工作。完全相同的 html 代码在从服务器获取时不起作用,但在本地计算机上打开时起作用。

请注意,我正在尝试从客户端计算机加载图像,因为在我的场景中不可能将图像存储在服务器计算机上。 (服务器实际上是没有SD卡的Arduino Mega)

原文由 PrashanD 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 534
2 个回答

在大多数最新的浏览器中,出于安全目的,本地文件的链接 ( file:/// ) 不会打开。在您的情况下,浏览器不会显示驻留在硬盘文件中的图像。这个原因也解释了为什么在本地保存页面时它会起作用。

原文由 PA. 发布,翻译遵循 CC BY-SA 3.0 许可协议

html 页面无法从客户端主机请求图像。它必须存储在服务器上或另一个远程位置。

原文由 player 发布,翻译遵循 CC BY-SA 3.0 许可协议

推荐问题