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 的参数的这个路径上,这样就可以让别人访问服务器的本地文件了,比如本地图片或者本地音乐视频什么的。
Comments