SpringBoot之虚拟路径配置
首先创建一个 conf.properties 文件
#文件保存地址
file.saveFilePath=file:/D:/xxw/
#静态资源对外暴露的访问路径
file.staticAccessPath=/upload/**
实现WebMvcConfigurer接口,并且重写addResourceHandlers方法
@Configuration
@PropertySource("classpath:config/conf.properties")
public class FileConfig implements WebMvcConfigurer{
@Value("${file.saveFilePath}")
public String saveFilePath;
@Value("${file.staticAccessPath}")
public String staticAccessPath;
/**
* 虚拟路径配置
* @param registry
*/
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler(staticAccessPath).addResourceLocations(saveFilePath);
WebMvcConfigurer.super.addResourceHandlers(registry);
}
}
解释:
/upload/**: 相当于 别名的意思
file:/D:/xxw/: 本地文件的路径
以上配置 完后就可以在页面中使用/upload/访问本地资源了
<img src="/upload/xxw.png">
解决的问题:
如果直接将本地的路径暴露给用户不安全