springboot映射项目外部资源
配置文件:
cbs:
filePath: file:///
配置类:
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
/**
* @description:配置访问外部文件
* @author: Administrator
* @date: 2019-07-10 16:17
*/
@Configuration
public class WebConfig extends WebMvcConfigurationSupport {
@Value("${cbs.filePath}")
private String filePath;//文件地址
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
System.out.println("文件路径=="+filePath);
registry.addResourceHandler("/appFile/**").addResourceLocations(filePath);
super.addResourceHandlers(registry);
}
}
地址:http://localhost:8080/appFile/D:/tmp/app/1.txt
访问的时候把 http://localhost:8080/appFile/ 替换成 file:///
也就是file:///D:/tmp/app/1.txt
下面是访问结果(请忽略掉乱码问题):
但是不知道为什么配置类继承WebMvcConfigurerAdapter和实现WebMvcConfigurer 接口都没有用,继承 WebMvcConfigurationSupport类才生效