知道图片文件的物理路径,如何显示在web页面上? <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应该如何实现? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 绝对不可能,这样的话有严重安全隐患。所以即使你里面是d:\docs\a.jpg ,那么客户看到的也只是自己电脑上的d:\docs\a.jpg 文件,而不是服务器上的,如果没有这种限制,那么整台服务器的所有资源都可以被别人通过一个浏览器所访问。解决方法是你可以写一个servlet,把图片的地址改成/servlet/xxxx这样的地址,然后这个servlet就是负责读取图片并且以输出流的方式返回给用户 一个web项目能引用的是项目下的文件如果项目外的话没搞过 因为保存上传文件的目录放在项目外面,文件名及路径都保存在数据库中, 现在用户想在页面上直接看已经上传的图片文件, 难道必须把文件的目录放回到web项目之下? 你可以写个代理servlet去读那些文件然后用流的形式返回 项目中图片一般都是放在ftp服务器上滴放在工程中的是一些不会改变的图标 必须放在项目路径下。然后img 里面给相对路径就可以了。 可以放在web项目之下,我也做过一个类似的图片上传的小项目,就是这么实现的。放在项目外是不能访问到的!也可以放在数据库中。 配置个虚拟路径就ok: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,由你发布的项目个数而定。我已经这么弄成功了,楼主好运。 要是这个可以实现的话,那我搞个网页,你只要访问我的网页,我就把你的机器上各种各样的密码文件hidden到form里,然后我不就很容易搞到n多密码了么? 有些朋友似乎没看懂我的问题。 crazylaa 的 答案似乎是我想要的,谢谢,我有空试试行不行. 算法题,求优化 创建class存储数据的问题 如何利用struts 上传和下载文件 并且把路径存入数据库??急急急急急急 线程类看不懂 紧急求助-- 关于JPanel加载图片问题? --------java中关于JNI的问题------------- 初学JAVA问一个怎样使用VE的问题! 首次在java 上帖子!!以后请大家多多关照,谢了!!! 在这里为什么可以使用迭代器来删除集合中的元素而不能够使从集合中直接删除呢? 在JAVA的命令行下编译NetTools.java文件出现以下错误?请问有什么解决办法? 紧急求救!!为什么集合无法清空。 设置图片颜色上字体(见需求)
解决方法是你可以写一个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,由你发布的项目个数而定。我已经这么弄成功了,楼主好运。