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

问题描述: 

我将图片保存到本地磁盘下,然后数据库中保存的是图片的绝对路径。
可是在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,项目中直接写文件的路径即可,也不需要额外的配置,更加的正规可靠。当然,如果只是测试不需要上线的话,前面的这种方式还是可以的。



阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页