java web项目中解决前端页面无法拿到webapps之外的本地目录中图片资源的几种方法

本文总结了在Java Web项目中如何让前端页面访问webapps目录外本地图片资源的四种方法:1) 使用<img>标签直接引用路径;2) 修改Tomcat配置虚拟路径;3) 后台通过IO流传输图片;4) 利用Base64流显示图片。针对不同场景,这些方法各有优劣。
摘要由CSDN通过智能技术生成

前端页面获取本地图片资源的几个办法

最近项目中需要在页面中显示人员照片,但是所有的照片资源在服务器上的另一个本地文件夹下,并不在我们的项目文件夹内,在尝试了几种获取图片资源的方式后最终找到了合适的解决办法,因此做了一个小结,方便以后参考。

1.<img> 标签中的scr直接写入图片资源链接

代码如下:

<img src="img/picture.jpg" alt="User Photo" style="width: 120px; height: 168px" >

这里的src="img/picture.jpg"可以写相对路径也可以使用绝对路径,但这样使用的前提是图片资源在tomcat/webapps/目录之内,如果图片所在文件夹在webapps之外,无论使用哪种路径都无法访问到。
由于我项目中所有的图片都在本地的一个文件夹下,所以此方法不可用。

2.修改tomcat的server.xml文件,配置虚拟路径访问本地路径

打开本机的tomcat/conf文件夹,找到server.xml文件,打开并编辑,在<Host></Host>标签内加入一句:

<Context docBase="D:\resource" path="/imgResource" debug="0" reloadable="true"/>

前端代码:

<img src="/imgResource/img/picture.jpg" alt="User Photo" style="width: 120px; height: 168px" >

其中path是虚拟路径,我们在页面中使用的;docBase为真实的本地资源路径,将本地路径映射给虚拟路径使用
这样做的话需要修改tomcat的配置,我的项目是部署在docker中的,而且是个老项目,配置文件没人愿意去改,所以也没用这种方法。

3.后台通过IO流的方式将图片传输到页面

页面上图片的src属性其实就是一个http请求,后台处理这个请求是输出一张图片到浏览器
java代码:

/**
	 * IO流传输个人照片到前端
	 * @Title: showPhoto
	 */
	public String showPhoto(){
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值