时间:2021-05-19
今日遇到一个问题: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才能获取到资源);
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了PHP获取文件相对路径的方法。分享给大家供大家参考。具体实现方法如下:
问题描述:要在/jsp/index.jsp文件使用图片,如何计算相对路径?经过Servlet,struts转发后又如何计算相对路径?目录结构:应用名字:Demo
DLL加载,设置相对路径的方法如下所示:1、加载dll方法之一:(./代表当前目录,../代表上层目录)包含头文件的相对路径(当前路径为源代码路径,路径“../
本文实例讲述了php计算两个文件相对路径的方法。分享给大家供大家参考。具体如下:一、问题:写一个php函数算出两个文件的相对路径。例如$a="/a/b/c/d/
项目结构如下:想在icon.styl文件夹里面引用字体图标,使用相对路径,但是报错浏览器报错如下:解决方案有两种:方案1.使用根目录路径方案2:将要引用的静态资