#背景
由于需要做图片上传,但是与传统tomcat运行不同,项目内的路径classpath不能存储,只能存到系统绝对路径。这时静态文件的映射也不能用classpath,所以研究一下springboot如何映射系统路径的文件。
#实现
application.properties:
file.uploadFolder=D://temp/
WebMvcConfig.java:
package cn.admin; 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; /** * @author yanwei.hu@outlook.com * @Date: 2019/8/13 23:21 */ @Configuration public class WebMvcConfig extends WebMvcConfigurationSupport { @Value("${file.uploadFolder}") private String uploadFolder; @Override protected void addResourceHandlers(ResourceHandlerRegistry registry) { super.addResourceHandlers(registry); registry.addResourceHandler(("/image/**")) .addResourceLocations("file:"+uploadFolder); } }
测试,very nice :
http://127.0.0.1:20001/image/b.jpg