springboot如何获取相对路径文件夹下静态资源的方法
作者:0o加多宝宝o0 发布时间:2023-07-12 06:23:09
标签:spring,boot,静态资源
今日遇到一个问题: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才能获取到资源);
来源:https://blog.csdn.net/qq602757739/article/details/83661492
0
投稿
猜你喜欢
- 大家在登录网站的时候,大部分时候是通过一个表单提交登录信息。但是有时候浏览器会弹出一个登录验证的对话框,如下图,这就是使用HTTP基本认证。
- 对于生成的sql语句 自动加上单引号的情况mybatis是这样的,如果表的字段跟系统字段冲突,写sql语句的时候必须得加上单引号,这样才会区
- 题记:由于业务的需要,需要根据模板定制pdf文档,经测试根据模板导出word成功了;但是导出pdf相对麻烦了一点。两天的研究测试java导出
- rabbitMQ是一个在AMQP协议标准基础上完整的,可服用的企业消息系统。它遵循Mozilla Public License开源协议,采用
- 经过上一篇的介绍,相信小伙伴们已经按奈不住内心对springboot的向往,本篇我将继续向小伙伴介绍springboot配置文件的配置,已经
- 本文实例总结了C#子线程更新UI控件的方法,对于桌面应用程序设计的UI界面控制来说非常有实用价值。分享给大家供大家参考之用。具体分析如下:一
- 1、Java版package com.lyz.utils.common; import java.io.UnsupportedEncodin
- 1.@RequestMapping注解1.1@RequestMapping注解的功能从注解名称上我们可以看到,@RequestMapping
- 1. 安装JDK解释: JDK是Java编写环境--开发环境注: 安装路径不可出现中文及标点符号。比如:D:\Java\jdk81.1 下载
- @PropertySource注解是Spring用于加载配置文件,默认支持.properties与.xml两种配置文件。@PropertyS
- 在一个完整的项目中,如果每一个控制器的方法都返回不同的结果,那么对项目的维护和扩展都会很麻烦;并且现在主流的开发模式时前后端分离的模式,如果
- 今天在做项目学习的过程中,需要用到文件上传,启动项目正常,访问上传post请求突然报出了一个异常,特此记录一下。1、控制台异常org.spr
- java -jar设置添加启动参数方法java -jar 参数前后位置说明springboot项目启动的时候可以直接使用java -jar
- ////////////////////////////
- Mybatis动态排序 #{} ${}问题在写Mybatis动态排序是遇到一个问题,开始,我是这样写的<if test="o
- 1. 什么是JvmJVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来
- 群主发普通红包,某群有多名成员,群主给成员发普通红包,普通红包的规则:群主的一笔金额,从群主余额中扣除,平均分成n等份,让成员领取;成员领取
- forword跳转页面的三种方式:1.使用serlvet/** * 使用forward跳转,传递基本类型参数到页面  
- 好久没有写文章了,下面把自己最近程序中用到的一个小小的导出文件的方法给在家分享一下,欢迎大家来排砖,谢谢~不说废话了,直接上代码:using
- 目录概述ClassPoolCtClassCtMthodCtFieldCtConstructorClassPathClassLoader示例创