服务器之家

服务器之家 > 正文

spring boot 自定义规则访问获取内部或者外部静态资源图片的方法

时间:2021-07-13 15:40     来源/作者:Tizzy

项目中需要将图片放在磁盘上,不能将图片放在webapp下面!

springboot默认配置基本上可以满足我们的日常需要。但是项目中大量用户上传的图片,不能放在tomcat下面,这样子每次重新部署项目的时候,图片就失效了,很是麻烦。

所以此时就需要自定义配置springboot的项目静态文件映射

springboot默认的配置规则

映射 /** 到

?
1
2
3
4
classpath:/static
classpath:/public
classpath:/resources
classpath:/meta-inf/resources

到本地文件路径也就是 resource/static/ 下面

访问时可以:localhost:8080/+资源路径+资源名

例如我的项目结构!

spring boot 自定义规则访问获取内部或者外部静态资源图片的方法

此时我访问的静态资源为:

localhost:8080/js/jquery.min.js

如果配置 jquery.min.js 直接在static下面 访问则是

localhost:8080/jquery.min.js

但现在需要自定义映射规则:

有两种方法一种是基于配置文件,另一种是基于代码层面配置。

1 基于配置文件

?
1
2
3
#配置内部访问地址和外部图片访问地址 /myimgs/**
spring.mvc.static-path-pattern=/**
spring.resources.static-locations=file:c:/users/tizzy/desktop/img/,classpath:/static/

映射 /** 到 本地磁盘路径下存放的图片,和tomcat中的图片路径

访问路径则是

?
1
2
localhost:8080/jquery.min.js
localhost:8080/ 图片名

2 基于代码层面配置

?
1
2
3
4
5
6
7
8
9
10
11
12
13
@configuration
public class webmvcconfiguration extends webmvcconfigureradapter {
 
@override
  public void addresourcehandlers(resourcehandlerregistry registry) {
 
        //addresourcehandler是指你想在url请求的路径
        //addresourcelocations是图片存放的真实路径
 
    registry.addresourcehandler("/**").addresourcelocations("file:d://user/").addresourcelocations("classpath:/static/");
    super.addresourcehandlers(registry);
  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:https://segmentfault.com/a/1190000018065349

相关文章

热门资讯

2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
2021德云社封箱演出完整版 2021年德云社封箱演出在线看
2021德云社封箱演出完整版 2021年德云社封箱演出在线看 2021-03-15
返回顶部