1

我使用 tomcat 7.0 和 eclispe WTP 插件。我无法引用本地磁盘上的文件。 <h:graphicImage value="C:/tmp/someFile.png"/>

我试图通过添加位置 C:\Program Files (x86)\apache-tomcat-7.0.32\webapps 目录 tmp/ 来解决它并使用<h:graphicImage value="/tmp/someFile.png"/>

我还尝试从 eclipse 添加到 tomcat 文件:server.xml<Context docBase="C:/tmp" path="/tmp" />

<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">

    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" pattern="%h %l %u %t &quot;%r&quot; %s %b" prefix="localhost_access_log." suffix=".txt"/>

  <Context docBase="myProjectName" path="/myProjectName" reloadable="true" source="org.eclipse.jst.jee.server:myProjectName"/>
  <Context docBase="C:/tmp" path="/tmp" /></Host>

并以相同的方式引用文件<h:graphicImage value="/tmp/someFile.png"/>

结果我有 HTTP 状态 404。描述请求的资源不可用。

我该如何解决?谢谢

4

2 回答 2

1

<h:graphicImage>自动在 URL 中添加当前 webapp 的上下文路径。如果您在 webbrowser 的内置 webdeveloper 工具集中查看了生成的 HTML 输出和/或 HTTP 流量监视器,您就会注意到它。

只需使用纯 HTML<img>元素即可。

<img src="/tmp/someFile.png" />
于 2012-11-17T18:59:42.937 回答
0

部署应用程序时,“webapp”目录充当应用程序的根目录(理想做法)。因此,如果您使用路径(url)"/tmp/someFile.png" 访问文件 someFile.png,则必须将文件放入 "/src/main/webapp/tmp/someFile.png"并在部署后将“webapp”的内容放入应用程序的根目录中。

所以基本上只要确保“tmp”在你的应用程序根目录中。

如果你想使用文件系统。你可以在这里看到这个答案。

于 2012-11-17T18:02:15.850 回答