springboot 项目打包部署后设置上传文件访问的绝对路径

时间:2024-01-21 21:26:03

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/下的资源。