查看上传的图片所需的正确路径是什么?

在我的Web应用程序中,我的页面之一是将照片上传到路径

/ usr / local / rac / picture-name-goes-here

照片上传正常,但是我需要在另一个页面中访问它,当我尝试从JSP访问它时,它不会显示,我猜我的照片路径不正确

我的JSP中用于访问照片的代码如下所示。

            <tr>

<td>

<img src="/usr/local/agent/photo-name-here.jpg"/>

</td>

</tr>

我对这张照片的路径是否不正确?如果有帮助,我正在从目录中的Tomcat运行我的Web应用程序

C:\ Tomcat6

我最终将把它转移到Linux机器上,并期望与照片共享相同的路径。

回答:

这里有一个主要的误解。HTML由网络浏览器而不是网络服务器执行。Web浏览器下载HTML,扫描还需要下载的任何资源(CSS,脚本,图像等),并为每个资源激发

一个新的HTTP请求 。所有资源都应指向 ,而不是客户端计算机不知道的某些本地磁盘文件系统路径。

基本上有两种方法可以解决此“问题”:

  1. Context向Tomcat的添加新的 /conf/server.xml
    <Context docBase="/usr/local/agent" path="/images" />

这样,就可以通过http://example.com/images/ …

访问它们,并且您可以使用以下内容<img>

    <img src="/images/photo-name-here.jpg"/>

  1. 创建一个Servlet基本上获取InputStream图片的的OutputStream,然后沿着一组正确的标头将其写入响应的。您可以在此处找到此类servlet的基本示例,并在此处找到更高级的示例。当将Servlet映射到/images/*中时web.xml,可以通过http://example.com/contextname/images/ … 访问图像,并且您可以按以下方式使用它(假设JSP / HTML文件位于上下文根):
    <img src="images/photo-name-here.jpg"/>

以上是 查看上传的图片所需的正确路径是什么? 的全部内容, 来源链接: utcz.com/qa/427795.html

回到顶部