代码之家  ›  专栏  ›  技术社区  ›  TheJediCowboy

我需要什么路径才能看到上传的图片?

  •  2
  • TheJediCowboy  · 技术社区  · 14 年前

    在我的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机器上,并希望共享到照片的相同路径。

    2 回复  |  直到 14 年前
        1
  •  3
  •   BalusC    14 年前

    这里有一个主要的误解。HTML由WebBrowser执行,而不是由Web服务器执行。WebBrowser下载HTML,扫描需要下载的任何资源(CSS、脚本、图像等)并激发 新的HTTP请求 为他们中的每一个。所有资源都应该指向 有效的URL ,而不是客户机不知道的某个本地磁盘文件系统路径。

    解决这个“问题”基本上有两种方法:

    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"/>
      
    2. 创建 Servlet 基本上得到一个 InputStream 并将其写入 OutputStream 一组正确的报头。你可以找到 here 这样一个servlet的基本示例 here 一个更高级的例子。当 伺服电动机 已映射到 /images/* 在里面 web.xml ,图像可通过 http://example.com/contextname/images/ …您可以按如下方式使用它(假设jsp/html文件位于上下文根目录中):

      <img src="images/photo-name-here.jpg"/>
      
        2
  •  1
  •   Garis M Suero    14 年前

    src="/usr/local/agent/photo-name-here.jpg" <-此URL是服务器中的本地地址,若要显示图像,必须设置有效的 HTTP 地址如下:

    http://www.yourdomain.com/images/photo-name-here.jpg

    要完成此操作,您需要将FOTO上载到 localpath 在你的里面 www 根文件夹。

    如果你的 webapp 安装在

    • /home/apache/www/website/

    您将把图像上载到如下文件夹:

    • /home/apache/www/website/images/

    然后你的 超文本传输协议 地址是

    • http://www.yourdomain.com/images/photo-name-here.jpg

    我有点困惑你的两条路 /usr/ C:\Tomcat

    我鼓励你上传 本地路径 文件夹已参数化,因此您将只修改配置文件,而不是访问该本地路径的每个函数或方法。