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

posted @ 2018-11-10 23:48  花拾夕  阅读(16410)  评论(3编辑  收藏  举报