侧边栏壁纸
博主头像
故黎

陈雯是小猪

  • 累计撰写 29 篇文章
  • 累计创建 5 个标签
  • 累计收到 7 条评论
标签搜索

文件上传整合-BOOT STARTER

故黎
2021-12-26 / 0 评论 / 0 点赞 / 1,445 阅读 / 1,283 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2021-12-30,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

公司有项目由于客户需求可能需要接入不同的云服务商的对象存储中,所以有了做一个文件上传整合的spring-boot-starter的想法。

  • 先简单介绍下这个组件:思路就是通过简单的配置,可以无缝切换对象存储服务商,类似spring-boot-streaming,只不过streaming支持的是消息队列而我的组件是针对对象存储的。
  • 组件目前支持 Local、Fast-DFS、腾讯云COS、阿里云OSS、华为云OBS的上传与删除文件功能,
    部分支持配置图片压缩水印等处理策略,引入依赖不做配置默认创建Local文件处理器,文件存储本地。
  • 声明一点组件中的大部分代码来自于Halo博客的后端程序,我只是针对这部分代码做了一些修改和整合,方便其他项目引用配置。
  • 上链接 upload-integration-boot-starter

使用方式

  • 打包项目安装到本地maven仓库或上传私服,pom引入依赖

        <dependency>
            <groupId>com.lmf</groupId>
            <artifactId>upload-integration-boot-starter</artifactId>
            <version>1.0.1</version>
        </dependency>
    
  • yml或properties文件中添加配置

        #腾讯云配置示例
        attachment:
            type: tencentcos
            tencent-cos:
              cos-tencent-domain: xxxxx-xxxxx-xxxxxx.cos.ap-shanghai.myqcloud.com
              cos-tencent-secret-id: xxxxxxxxxxxxxxxxxxxxxxxxxxxx
              cos-tencent-secret-key: xxxxxxxxxxxxxxxxxxxxxxxxxxx
              cos-tencent-region: ap-shanghai
              cos-tencent-bucket-name: xxxx-xxxxx-1305086754
              cos-tencent-source: xxxxx
    
        #Fast-DFS配置示例
        attachment:
            type: fastdfs
            fast-dfs:
              fast-dfs-resource-url: http://10.10.10.10:8088
              fast-dfs-tracker-server: 10.10.10.10:22122
    
  • 注入FileHandlers调用upload方法上传文件

        @Resource
        private FileHandlers fileHandlers;
    
        @PostMapping
        public ResultResponse<UploadResult> save(MultipartFile file) throws Exception {
            UploadResult upload = fileHandlers.upload(file);
            return new ResultResponse<>(upload);
        }  
    
  • ok 就到这儿

0

评论区