解决页面绝对路径下的图片不显示问题

问题描述: 

我将图片保存到本地磁盘下,然后数据库中保存的是图片的绝对路径。
可是在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要保持一致。
     一般来讲,图片上传不会和项目分开,如果项目上线发布到服务器上是不存在分盘的,所以路径问题最后还是要修改。所以以上将图片保存在本地磁盘的做法不建议使用,最好还是保存在项目根目录下,不过这样做也有一点弊端,随着用户上传的文件的增多,项目所占的内存会一直增加。
    推荐一种比较直观的做法,将图片文件这些上传到oss,项目中直接写文件的路径即可,也不需要额外的配置,更加的正规可靠。当然,如果只是测试不需要上线的话,前面的这种方式还是可以的。



  • 5
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值