<img id="productimage" width=130 height=160 src="web1/images/temple.png"/>这样可以显示一个图片文件,但如果我的图片文件不在web1项目下的images目录,而是web1项目之外的目录,比如:d:\docs\a.jpg我想用img 元素显示 d:\docs\a.jpg 这个文件,jsp应该如何实现?
调试欢乐多
解决方法是你可以写一个servlet,把图片的地址改成/servlet/xxxx这样的地址,然后这个servlet就是负责读取图片并且以输出流的方式返回给用户
如果项目外的话没搞过
因为保存上传文件的目录放在项目外面,文件名及路径都保存在数据库中, 现在用户想在页面上直接看已经上传的图片文件, 难道必须把文件的目录放回到web项目之下?
然后img 里面给相对路径就可以了。
也可以放在数据库中。
1)打开tomcat安装目录下的conf目录中的server.xml文件,在最后的</Host>上面一行加入下面的一行:
<Context path="/myImgs" docBase="d:/docs" reloadable="true"/>
其中:d:/docs 对应你的文件存储路径。/myImgs对应你在浏览器里面要输入的虚拟路径。要注意不要让它与其他的项目的虚拟路径相同以免冲突。2)如果tomcat是5.5及以上
打开tomcat安装目录下的conf目录中的web.xml文件,修改里面的参数:
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
把这段代码中的第二行的false改为true就可以了。保存修改后的web.xml文件,退出该文件。
5.0及以下版本不需要改动。
3)页面上就可以用 <img src="http://localhost:8088/myImgs/login02.gif">
来访问该图片了。注意:如果是eclipse(我的是jbuilder2007),由于它发布的路径可能不是配置的tomcat安装目录,
因此,你要修改的可能不是tomcat/conf目录下的那两个文件,而是:
workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\conf
下的。其中 tmp1还是tmp0还是tmpN,由你发布的项目个数而定。我已经这么弄成功了,楼主好运。