• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

文件上传组件-X Spring File Storag使用

武飞扬头像
布尔科技技术团队
帮助1

X Spring File Storage可以简化上传文件代码,可以配置多上传平台。

  1. 需要引入的依赖

  1.  
    <!-- spring-file-storage 必须要引入 -->
  2.  
    <dependency>
  3.  
    <groupId>cn.xuyanwu</groupId>
  4.  
    <artifactId>spring-file-storage</artifactId>
  5.  
    <version>0.7.0</version>
  6.  
    </dependency>
  7.  
     
  8.  
    <!-- 华为云 OBS 不使用的情况下可以不引入 -->
  9.  
    <dependency>
  10.  
    <groupId>com.huaweicloud</groupId>
  11.  
    <artifactId>esdk-obs-java</artifactId>
  12.  
    <version>3.22.3.1</version>
  13.  
    </dependency>
  1. 配置文件

  1.  
    spring:
  2.  
    file-storage: #文件存储配置
  3.  
    default-platform: local-1 #默认使用的存储平台,
  4.  
    thumbnail-suffix: ".min.jpg" #缩略图后缀,例如【.min.jpg】【.png】
  5.  
    local: # 本地存储(不推荐使用),不使用的情况下可以不写
  6.  
    - platform: local-1 # 存储平台标识
  7.  
    enable-storage: true #启用存储
  8.  
    enable-access: true #启用访问(线上请使用 Nginx 配置,效率更高)
  9.  
    domain: "http://127.0.0.1:9966/test/file/" # 访问域名,例如:“http://127.0.0.1:8030/test/file/”,注意后面要和 path-patterns 保持一致,“/”结尾,本地存储建议使用相对路径(/test/file/),方便后期更换域名
  10.  
    base-path: E:/Temp/test/ # 存储地址
  11.  
    path-patterns: /test/file/** # 访问路径,开启 enable-access 后,通过此路径可以访问到上传的文件
  12.  
    huawei-obs: # 华为云 OBS ,不使用的情况下可以不写
  13.  
    - platform: huawei-obs-1 # 存储平台标识
  14.  
    enable-storage: true # 启用存储
  15.  
    access-key: ak
  16.  
    secret-key: sk
  17.  
    end-point: ep
  18.  
    bucket-name: bn
  19.  
    domain: / # 访问域名,注意“/”结尾,例如:http://abc.obs.com/
  20.  
    base-path: / # 基础路径
学新通
  1. 注意配置每个平台前面都有个-号,通过以下方式可以配置多个

  1.  
    local:
  2.  
    - platform: local-1 # 存储平台标识
  3.  
    enable-storage: true
  4.  
    enable-access: true
  5.  
    domain: ""
  6.  
    base-path: D:/Temp/test/
  7.  
    path-patterns: /test/file/**
  8.  
    - platform: local-2 # 存储平台标识,注意这里不能重复
  9.  
    enable-storage: true
  10.  
    enable-access: true
  11.  
    domain: ""
  12.  
    base-path: D:/Temp/test2/
  13.  
    path-patterns: /test2/file/**
  1. 启动类调整

  1.  
    @EnableFileStorage
  2.  
    @SpringBootApplication
  3.  
    public class SpringTestApplication{
  4.  
    public static void main(String[] args) {
  5.  
    SpringApplication.run(SpringTestApplication.class, args);
  6.  
    }
  7.  
    }
  1. 简单使用

  1.  
    @RestController
  2.  
    public class FileDetailController {
  3.  
     
  4.  
    @Autowired
  5.  
    private FileStorageService fileStorageService;//注入实列
  6.  
     
  7.  
    /**
  8.  
    * 上传文件,成功返回文件 url
  9.  
    */
  10.  
    @PostMapping("/upload")
  11.  
    public String upload(MultipartFile file) {
  12.  
    FileInfo fileInfo = fileStorageService.of(file)
  13.  
    .setPath("upload/") //保存到相对路径下,为了方便管理,不需要可以不写
  14.  
    .setObjectId("0") //关联对象id,为了方便管理,不需要可以不写
  15.  
    .setObjectType("0") //关联对象类型,为了方便管理,不需要可以不写
  16.  
    .putAttr("role","admin") //保存一些属性,可以在切面、保存上传记录、自定义存储平台等地方获取使用,不需要可以不写
  17.  
    .setPlatform("huawei-obs-1") //使用指定的存储平台,不写则使用默认存储平台
  18.  
    .upload(); //将文件上传到对应地方
  19.  
    return fileInfo == null ? "上传失败!" : fileInfo.getUrl();
  20.  
    }
  21.  
    }
学新通
  1. X Spring File Storage上传不仅支持本地和华为云obs上传,还支持阿里云OSS,腾讯云 COS,百度云BOS等更多平台,还有关于X Spring File Storage的更多上传,查询,删除文件等方法详见官网:链接

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgbhckj
系列文章
更多 icon
同类精品
更多 icon
继续加载