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

Posted king西阳

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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/下的资源。

以上是关于springboot 项目打包部署后设置上传文件访问的绝对路径的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot打包成jar,使用docker 部署,关于文件上传本地哪些事

SpringBoot打包成jar,使用docker 部署,关于文件上传本地哪些事

超详细SpringBoot+vue项目部署到阿里云服务器上

vue打包到springboot访问不到后端

SpringBoot项目打包成jar后,启动脚本

Springboot部署流程