重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
小编给大家分享一下springboot怎样获取相对路径文件夹下静态资源,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
在网站建设、成都网站制作过程中,需要针对客户的行业特点、产品特性、目标受众和市场情况进行定位分析,以确定网站的风格、色彩、版式、交互等方面的设计方向。成都创新互联公司还需要根据客户的需求进行功能模块的开发和设计,包括内容管理、前台展示、用户权限管理、数据统计和安全保护等功能。
今日遇到一个问题: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才能获取到资源);
看完了这篇文章,相信你对“springboot怎样获取相对路径文件夹下静态资源”有了一定的了解,如果想了解更多相关知识,欢迎关注创新互联行业资讯频道,感谢各位的阅读!