一 应用场景
一个springboot的应用,需要访问服务器/home/webapp/upload 目录下的静态资源。一般是动态上传的图片,需要访问时,需要用到。
二 实现方式
1. 配置文件
wycms: # 文件路径 示例( Windows配置file:D:/wycms/uploadPath,Linux 置file:/home/wycms/uploadPath) outerImgLocation: file:/home/webapp/
注意:无论是 linux还是windows,配置的路径,都要用:file: 路径 这样子配置,缺少file: 就无法访问
2. 添加 WyCmsWebMvcConfigurer,注册资源访问路径
/**
* Created by wangl on 2017/11/21.
* todo:springMVC配置文件
* <p>
* 注意:这里不能使用 WebMvcConfigurationSupport 因为这这个类会倒置springboot的自动装配失效,
* 从而造成SPRINGBOOT 默认配置的 静态资源文件的路径无法访问的问题发生
*/
@Configuration
@Slf4j
public class WyCmsWebMvcConfigurer extends WebMvcConfigurerAdapter {
@Value("${wycms.outerImgLocation:''}")
private String outerImgLocation;
@Value("${server.servlet.context-path:''}")
private String CONTEXT_PATH;
//访问静态资源
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
log.info("*************addResourceHandlers***************");
//注册访问路由
registry.addResourceHandler("/outer/**").addResourceLocations(outerImgLocation);
super.addResourceHandlers(registry);
}
}
三. 访问
http://localhost:8088/outer/1.jpg
其中1.jpg 放在服务器 /home/webapp 路径下面。