springboot如何获取相对路径文件夹下静态资源的方法

作者:0o加多宝宝o0 时间:2023-07-12 06:23:09 

今日遇到一个问题:springboot需要获取到一个自定义名称文件夹下的静态资源(图片等),并且文件夹的路径不在classPath下面,而是一个相对路径。

一开始使用修改配置文件的方式:


# 配置静态资源访问前缀
spring.mvc.static-path-pattern=*/**
# 配置静态资源路径,默认配置失效
spring.resources.static-locations=../upload

 发现并不行,无法解析出相对路径。

后面通过自定义静态资源映射配置类实现了:


@Configuration
@EnableConfigurationProperties({ FileHanderProperties.class })
public class FileHandleConfig extends WebMvcConfigurerAdapter {

@Autowired
 private FileHanderProperties fileHanderProperties;

@Override
 public void addResourceHandlers(ResourceHandlerRegistry registry) {
   registry.addResourceHandler(fileHanderProperties.getResource())
       .addResourceLocations("file:" + fileHanderProperties.getFileDir()+"//");
   super.addResourceHandlers(registry);
 }

}

然后再在配置文件中配置springboot如何获取相对路径文件夹下静态资源的方法

通过自定义的配置文件读取类fileHanderProperties获取配置的参数,这样就可以获取到相对路径中的静态资源了。在浏览器中直接输入url,就可以得到图片。

关键点:

1.addResourceLocations 里面要加前缀"file:" ,这样才能获取到自定义目录下的文件。用"classpath:"只能获取到classpath下的资源;

2.静态资源访问前缀 (即addResourceHandler内的参数)要写成*/**,这样才可以获取到upload文件夹下所有的文件(包括upload文件夹里面的文件夹如imgupload里的资源,只要在url里多加/imgupload),而且在url输入的时候可以不用写upload (如果你想写,就把前缀改为 upload/** ,这样就必须在url里写上upload才能获取到资源);

来源:https://blog.csdn.net/qq602757739/article/details/83661492

标签:spring,boot,静态资源
0
投稿

猜你喜欢

  • Android高性能日志写入方案的实现

    2022-09-18 17:12:50
  • Unity制作小地图和方向导航

    2023-02-07 16:51:02
  • ios百度地图的使用(普通定位、反地理编码)

    2023-07-03 15:26:17
  • Android判断设备网络连接状态及判断连接方式的方法

    2023-08-29 16:41:02
  • Java事件处理机制(自定义事件)实例详解

    2023-10-28 21:30:50
  • Android APK文件在电脑(PC虚拟机)上面运行方法

    2023-10-05 08:44:06
  • ElasticSearch如何设置某个字段不分词浅析

    2023-01-29 07:22:30
  • Java+MySQL 图书管理系统

    2023-11-28 19:28:43
  • C#调用QQ_Mail发送邮件实例代码两例

    2023-11-10 17:27:05
  • Android ScrollView滑动实现仿QQ空间标题栏渐变

    2021-06-13 16:32:19
  • Jetpack Compose自定义动画与Animatable详解

    2021-07-04 20:26:08
  • SpringBoot实现二维码扫码登录的原理及项目实践

    2022-02-25 22:31:15
  • 身份证号码验证算法深入研究和Java实现

    2023-05-18 08:17:42
  • Android中通知Notification使用实例(振动、灯光、声音)

    2021-09-28 20:00:01
  • mybatisPlus实现倒序拼接字符串

    2021-11-16 08:50:29
  • 详解Android Scroller与computeScroll的调用机制关系

    2023-09-27 19:49:14
  • BootStrap mvcpager分页样式(get请求,刷新页面)

    2023-09-19 04:18:29
  • Android应用退出登录的实现方法

    2023-11-15 19:52:44
  • Unity实现游戏存档框架

    2023-02-10 13:05:15
  • kotlin 定义接口并实现回调的例子

    2022-12-06 14:30:19
  • asp之家 软件编程 m.aspxhome.com