问题描述:
我将图片保存到本地磁盘下,然后数据库中保存的是图片的绝对路径。
可是在jsp页面中显示的是图片的绝对路径,但不是图片,具体代码如下:
<img src="E:\Cache\Img_Cache\20171213091911.jpg"/>
原因分析 :
原来tomcat默认是在项目的根目录下去找图片,
<img src="http://localhost:8080/znkj/images/20171213091911.jpg"/>
而实际上图片并不保存在这个位置。
解决方法:
配置虚拟路径:
在tomcat的安装路径下打开conf/server.xml ,
在<Host></Host>中间添加如下代码:
<Context path="/Cache/Img_Cache/" docBase="E:\Cache\Img_Cache" reloadable="true"> </Context>
前端jsp代码如下:
<img src="
/Cache/Img_Cache/
20171213091911.jsp">
这个时候启动tomcat,图片就能正常显示了。
注意:
虚拟路径
/Cache/Img_Cache与上面配置的path要保持一致。
一般来讲,图片上传不会和项目分开,将项目保存到本地磁盘的做法不建议使用,如果项目上线发布到服务器上是不存在分盘的,所以路径问题最后还是要修改。所以以上将图片保存在本地磁盘的做法不建议使用,最好还是保存在项目根目录下,不过这样做也有一点弊端,随着用户上传的文件的增多,项目所占的内存会一直增加。