服务器上的服务器访问数据

时间:2012-03-15 04:59:42

标签: language-agnostic

我的问题是我知道服务器应用程序可以访问存储在服务器上的数据,但无法访问存储在客户端计算机上的数据,因为这是一个安全问题,浏览器不允许这样做。但是对于localHost(当我的本地PC充当服务器时)我应该能够从我的PC(运行应用程序的本地PC)访问文件。但那并没有发生。 为什么我无法通过localhost从本地C:\驱动器访问简单的映像文件。我使用的URL是file:/// c:/image.png但是如果我将这个图像存储在tomcat的主目录下我能够访问它的任何地方。为什么? 我用它作为<'img src =“file:/// c:/image.png> 谢谢你的任何考虑..

1 个答案:

答案 0 :(得分:0)

问题出在这一部分:

  

我使用的URL是file:/// c:/image.png,但如果我存储任何此图像   在tomcat的主目录下我可以访问它。

如果要在将文件放入Tomcat的document-root后通过Tomcat访问该文件,则使用的URL(假设您没有更改默认端口设置)是:

http://localhost:8080/image.png

需要通过Web服务器访问由Web服务器托管的内容。 file:// URL绕过任何类型的服务器,并且基本上指示浏览器直接查看本地文件系统。所以如果你这样做也应该有用:

file:///C:/path/to/tomcat/home/image.png

但在这种情况下,你通过Tomcat。您只需将浏览器指向本地文件系统中的tomcat文件夹即可。

编辑:我认为许多浏览器不会在托管文档中的标记中允许file://个网址。这样做可能会导致出现安全漏洞,就好像您可以猜到某人的本地文件系统上的图像文件的名称,然后您可以发布一个网页,使其看起来好像您的服务器以某种方式抓住了他们的个人图像文件。