springboot 项目打包部署后设置上传文件访问的绝对路径
1、设置绝对路径
application.properties的配置
#静态资源对外暴露的访问路径
file.staticAccessPath=/upload/**
#文件上传目录(注意Linux和Windows上的目录结构不同)
#file.uploadFolder=/home/upload/
file.uploadFolder=d://upload/
配置上传文件的目录,也可以在这里设置上传文件的大小
@Configuration public class UploadFileConfig { @Value("${file.uploadFolder}") private String uploadFolder; @Bean MultipartConfigElement multipartConfigElement() { MultipartConfigFactory factory = new MultipartConfigFactory(); factory.setLocation(uploadFolder); //文件最大 factory.setMaxFileSize("5MB"); // 设置总上传数据总大小 factory.setMaxRequestSize("10MB"); return factory.createMultipartConfig(); } }
2、设置虚拟路径,访问绝对路径下资源
@Configuration public class UploadFilePathConfig extends WebMvcConfigurerAdapter { @Value("${file.staticAccessPath}") private String staticAccessPath; @Value("${file.uploadFolder}") private String uploadFolder; @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler(staticAccessPath).addResourceLocations("file:" + uploadFolder); } }
这时就可以通过访问 http://localhost:8080/upload/xxx.jpg
访问d://upload/
下的资源。