SpringBoot重写addResourceHandlers映射文件路径方式
SpringBoot重写addResourceHandlers映射文件路径方式
目录重写addResourceHandlers映射文件路径在此记录以下配置本地资源映射路径addResourceHandlers成功访问如下
重写addResourceHandlers映射文件路径
在看一个博客源码发现页面的图片所映射的地址在SpringBoot静态资源文件夹下找不到原來在这里是通过下面这段代码,将/store/**地址映射为getStorePath()得到的地址
在此记录以下
registry.addResourceHandler("/store/**").addResourceLocations(getStorePath());
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/dist/**").addResourceLocations("classpath:/static/dist/");
registry.addResourceHandler("/theme/**").addResourceLocations("classpath:/static/theme/");
registry.addResourceHandler("/store/**").addResourceLocations(getStorePath());
super.addResourceHandlers(registry);
}
配置本地资源映射路径 addResourceHandlers
实现 WebMvcCohttp://nfigurer,重写addResourceHandlers(ResourceHandlerRegistry registry)方法
addResourceHandler():添加的是访问路径adeMrXxELAtdResourceLocations():添加的是映射后的真实路径,映射的真实路径末尾必须加 / ,不然映射不到,这个问题困扰了我半天, / 适用于 windows和linux
如下:
package cn.mindgd.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
/**
* 拦截器配置
*/
@Configuration
public class InterceptorConfig implements WebMvcConfigurer {
/**
* @author: JiaXinMa
* @description: 访问静态文件
* @date: 2021/4/15
*/
@Override
public void addResourceHandlers(ResourceHaneMrXxELAtdlerRegistry registry) {
//访问路径
registry.addResourceHandler("/api/upload/**")
//映射真实路径
.addResourceLocations("file:" + System.getProperty("user.dir") + "/");//必须加"/",不然映射不到
}
}
System.getProperty(“usehttp://r.dir”) 是当前项目路径
成功访问如下
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~