springboot+thymeleaf访问绝对路径图片、springboot配置虚拟路径

springboot项目默认的资源放在static文件夹下面,如图片、样式、js等等(当然也可以通过放在resources、META-INF等文件夹下面,不过有时候也需要配置一下),但是如果我们的图片资源很多,那么放在这个文件夹下面显然不太合理,随着图片增多,项目会变得很大,而且数据库里面往往存放的只是图片的路径,当我们获取路径显示图片的时候会无法显示
springboot+thymeleaf访问绝对路径图片、springboot配置虚拟路径_第1张图片
我们可以把图片资源放在其他地方,例如我这里放在G盘的文件夹下面
springboot+thymeleaf访问绝对路径图片、springboot配置虚拟路径_第2张图片
在默认的static文件夹下面,我们可以通过下面这种方式访问图片
在这里插入图片描述
因为springboot知道static文件夹下面有img/videoImage1.jpg

但是我们不能把img/videoImage1.jpg直接替换成G:\ViSpace\animation\icon\QQ图片20200102192437.png,springboot根本不知道G盘,更不知道G盘下面的ViSpace文件夹

所以,我们需要配置虚拟路径,让springboot知道G:\ViSpace\,就像它知道static一样

在配置文件中添加下面的信息

#配置资源路径
videoIconLocation=G:/ViSpace/
spring.mvc.static-path-pattern=/**
spring.resources.static-locations=classpath:/static/,file:${videoIconLocation}

在这里插入图片描述
两个都是配置文件,随便配置一个的就行

videoIconLocation是自命名的,可以换成其他的,这里有警告,不懂怎么改这个警告

这样,classpath:/static/和file:${videoIconLocation}都是springboot知道的路径了

我数据库存放的是图片的路径,这个路径中就不需要G:\ViSpace\了,因为在传animation\icon\QQ图片20200102192437.png给前端时可以拼接成完整路径G:\ViSpace\animation\icon\QQ图片20200102192437.png,如下
springboot+thymeleaf访问绝对路径图片、springboot配置虚拟路径_第3张图片
前端代码:
在这里插入图片描述
${list.getIconLocation()}获取到数据库中的路径

最终结果如下
springboot+thymeleaf访问绝对路径图片、springboot配置虚拟路径_第4张图片

你可能感兴趣的:(springboot,thymeleaf)