springboot通过URL方式访问外部资源
遇到这个问题时翻阅百度,无外乎就是两种方式
第一种
在springboot 2.1.8中该方法已过时
第二种
这个方法是可以实现通过url访问到指定目录下的文件,但是使用spring.resources.static-locations这个配置会覆盖掉SpringBoot默认的静态资源文件夹,项目的静态资源全都无法访问,而spring.mvc.static-path-pattern 默认值就是/** 无须配置。
解决方法,在spring.resources.static-locations 加入自定义要访问的文件夹路径,必须是file:开头,并且加上默认的四个静态资源路径就可以访问项目和自定义静态资源了。
自定义静态资源路径为D:file/
spring那里报错是因为上面已经存在spring层,这里加上为了方便演示
自定义静态资源文件夹下的文件
通过url访问下载.JPG这张图片
同时项目也能访问到
springboot通过URL访问本地文件
@Configuration
public class MyWebMvcConfigurer extends WebMvcConfigurationSupport {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
// 访问相对路径
registry.addResourceHandler("/assets/**").addResourceLocations("classpath:/assets/");
// 访问绝对路径 访问路径和 存放路径可以自定义,建议存放路径放到配置文件中
registry.addResourceHandler("/img/**").addResourceLocations("file:D:/img/");
super.addResourceHandlers(registry);
}
}
localhost:8080/assets/文件名.后缀
localhost:8080/img/文件名.后缀
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。