SpringBoot中addResourceHandlers()用法

1.先上代码 然后再说

@Configuration
public class MyWebMVCConfig implements WebMvcConfigurer {
    @Value("${file.location}") //         D:/test/ 
    String filelocation;  // 这两个是路径 
    @Value("${file.path}") //         /file/**
    String filepath;

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        //匹配到resourceHandler,将URL映射至location,也就是本地文件夹
        registry.addResourceHandler(filepath).addResourceLocations("file:///" + filelocation);//这里最后一个/不能不写
    }
	
//放行静态资源,classpath是项目中resources文件夹所在路径
registry.addResourceHandler("/**").addResourceLocations("classpath:static/","classpath:/");
}

//user.dir是当前项目文件夹路径
registry.addResourceHandler("/**").addResourceLocations("file:"+System.getProperty("user.dir")+"/src/main/resources/static");

2.这段代码意思就配置一个拦截器, 如果访问路径是addResourceHandler中的filepath 这个路径 那么就 映射到访问本地的addResourceLocations 的参数的这个路径上,这样就可以让别人访问服务器的本地文件了,比如本地图片或者本地音乐视频什么的。

end
  • 作者:  molimark (联系作者)
  • 发表时间:  2022-08-10 11:58
  • 版权声明:  自由转载-非商用-非衍生
  • Comments

    留言