遇到这样一个问题,tomcat中HTML页面访问的图片资源并不是和HTML在同一个文件夹下,html中访问图片资源通过相对路径访问(src="./file/img/index/20191225160445_min_2.jpg");想通过创建软连接的方式将图片资源引用到HTML所在文件夹,方便HTML页面进行相对路径访问.
在通过springboot 构建的项目中,结果发现如果直接在HTML文件夹下创建软连接,确认相对路径没错后发现图片资源一直访问不了.如果是真是文件夹则没有问题.看了springboot关于tomcat的配置也没有 allowLinking 这个配置.
解决办法 是修改 spring.resources.static-locations ,在默认值的基础上添加上需要配置的软连接资源(注意资源相对路径问题)
springboot 中 spring.resources.static-locations 默认值
# 默认值为
spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/
在后面添加上图片资源的路径:如
mypath1: /root/static/html/file/img/
spring:
resources:
static-locations: /META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,file:${mypath1}
让tomcat在默认路径找不到图片资源的情况下,去我们另外配置的资源路径下寻找.mypath1就是我创建的软连接.