代码改变世界

SpringBoot 配置文件上传并且可以访问上传的路径

2019-08-26 17:50  极光の地  阅读(10991)  评论(0编辑  收藏  举报

1. application.yml 配置文件添加

file:
  uploadFolder: D://upfile/
  # 对外访问的资源路径
  staticAccessPath: /upfile/**

2. 配置上传限制

@Configuration
 public class UploadFileConfig {

    @Value("${file.uploadFolder}")
    private String uploadFolder;

    @Bean
    MultipartConfigElement multipartConfigElement(){
        MultipartConfigFactory factory = new MultipartConfigFactory();
        factory.setLocation(uploadFolder);
        factory.setMaxFileSize("10MB");
        // 设置总上传数据总大小
        factory.setMaxRequestSize("10MB");
        return factory.createMultipartConfig();
    }
}

3. 配置虚拟路径

@Configuration
 public class FileMvcConfig implements WebMvcConfigurer {

    @Value("${file.staticAccessPath}")
    private String staticAccessPath;

    @Value("${file.uploadFolder}")
    private String uploadFolder;

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        //文件磁盘图片url 映射
        //配置server虚拟路径,handler为前台访问的目录,locations为files相对应的本地路径

        registry.addResourceHandler(staticAccessPath).addResourceLocations("file:"+uploadFolder);
    }
}

浏览器访问 http://localhost/upfile/1.txt
可以获取到 D://upfile/ 下面的 1.txt 文件