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

所属分类: 软件编程 / java 阅读数: 41
收藏 0 赞 0 分享

今日遇到一个问题: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);
  }
 
}

然后再在配置文件中配置

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

关键点:

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

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

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

更多精彩内容其他人还在看

java实现背单词程序

这篇文章主要为大家详细介绍了java实现背单词程序,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

java实现单词查询小程序

这篇文章主要为大家详细介绍了java实现单词查询小程序,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Java程序开发环境配置图文教程

这篇文章主要为大家详细介绍了Java程序开发环境配置图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

详解ssh框架原理及流程

在本文中小编给大家整理的是关于ssh框架原理及流程的相关知识点内容,有此需要的朋友们可以学习下。
收藏 0 赞 0 分享

Java实现弹窗效果的基本操作

这篇文章主要为大家详细介绍了Java实现弹窗效果的基本操作,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

详解springmvc常用5种注解

在本篇里我们给大家总结了关于springmvc常用5种注解相关知识点以及实例代码,需要的朋友们参考下。
收藏 0 赞 0 分享

Java实现弹窗效果的基本操作(2)

这篇文章主要为大家详细介绍了Java实现弹窗效果的基本操作第二篇,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Spring Boot假死诊断实战记录

这篇文章主要给大家介绍了关于Spring Boot假死诊断的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Spring Boot具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享

Java计时新姿势StopWatch详解

这篇文章主要介绍了Java计时新姿势StopWatch,最近公司来了个大佬,从他那里学到不少东西,其中一个就是计时的新姿势「StopWatch」,需要的朋友可以参考下
收藏 0 赞 0 分享

java实现点击按钮弹出新窗体功能

这篇文章主要为大家详细介绍了java实现点击按钮弹出新窗体功能,旧窗体不进行操作,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享
查看更多