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

网友投稿 562 2023-01-13


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

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

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

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

springboot默认的配置规则

映射 /** 到

classpath:/static

classpath:/public

classpath:/resources

classpath:/META-INF/resources

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

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

例如我的项目结构!

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

localhost:8080/js/jquery.min.js

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

localhost:8080/jquery.min.js

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

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

1 基于配置文件

#配置内部访问地址和外部图片访问地址 /myimgs/**

spring.mvc.static-path-pattern=/**

spring.resources.static-locations=file:C:/Users/tizzy/Desktop/img/,classpath:/static/

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

访问路径则是

localhost:8080/jquery.min.js

localhost:8080/ 图片名

2 基于代码层面配置

@Configuration

public class WebMvcConfiguration extends WebMvcConfigurerAdapter {

@Override

public void addResourceHandlers(ResourceHandlerRegistry registrhttp://y) {

//addResourceHandler是指你想在url请求的路径

//addResourceLocations是图片存放的真实路径

registry.addResourceHandler("/**").addResourceLocations("file:D://User/").addResourceLocations("classpath:/static/");

super.addResourceHandlers(registry);

}

}


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:在SpringBoot中通过jasypt进行加密解密的方法
下一篇:Java8的default和static关键字的使用讲解
相关文章

 发表评论

暂时没有评论,来抢沙发吧~