3 Star 13 Fork 6

这么难演/doudada-components

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

欢迎使用 对象存储服务

Maven License SpringBoot

简介

OSS(对象存储服务) - 简化配置,注解带飞!

特点

配置灵活,没有改变任何框架结构,只为简化; 简单注解,即可实现文件操作 多种存储方式:服务器本地,GridFs,MinIO,AliYun

使用指引

引入依赖

implementation("cool.doudou:doudada-oss:latest")

使用方式

上传文件默认大小

  • 单个文件:1MB
  • 总上传数据:10MB
spring:
  servlet:
    multipart:
      # 设置单个文件大小
      max-file-size: 50MB
      # 设置总上传的数据大小
      max-request-size: 100MB

文件存储方式

  • local:存储在服务器本地
  • gridFS:存储在MongoDB的GridFS文件模块
  • aliYun:存储在阿里云OSS
  • minIO:存储在MinIO
file:
  storage-mode: local

属性配置

Local配置

file:
  local:
    path: /home/assets/file

GridFS配置

依赖spring自动注入MongoClient、GridFSBucket,配置属性如下:

implementation("org.mongodb:mongo-java-driver:3.12.11")
file:
  grid-fs:
    server-uri: mongodb://admin:1234.abcd@127.0.0.1:27017
    database: files
    bucket-name: default

AliYun配置

依赖spring自动注入OSS,配置如下:

implementation("com.aliyun.oss:aliyun-sdk-oss:3.15.1")
file:
  ali-yun:
    endpoint: https://oss-cn-hangzhou.aliyuncs.com
    access-key-id: admin
    access-key-secret: 1234.abcd
    bucket-name: default

MinIO配置

依赖spring自动注入MinioClient,配置属性如下:

implementation("io.minio:minio:8.4.3")
file:
  min-io:
    endpoint: http://127.0.0.1:9000
    access-key: admin
    secret-key: 1234.abcd
    bucket-name: default

方法说明

public interface OssHelper {
    /**
     * 上传
     *
     * @param multipartFile 表单格式文件
     * @return FileResult
     */
    OssResult upload(MultipartFile multipartFile);

    /**
     * 上传
     *
     * @param file 文件
     * @return FileResult
     */
    OssResult upload(File file);

    /**
     * 上传
     *
     * @param multipartFile 表单格式文件
     * @param category      类别
     * @return FileResult
     */
    OssResult upload(MultipartFile multipartFile, String category);

    /**
     * 上传
     *
     * @param file     文件
     * @param category 类别
     * @return FileResult
     */
    OssResult upload(File file, String category);

    /**
     * 下载
     *
     * @param key      键值
     * @param response 请求响应
     */
    void download(String key, HttpServletResponse response);

    /**
     * 下载
     *
     * @param key      键值
     * @param category 类别
     * @param response 请求响应
     */
    void download(String key, String category, HttpServletResponse response);

    /**
     * 预览
     *
     * @param key      键值
     * @param response 请求响应
     */
    void preview(String key, HttpServletResponse response);

    /**
     * 预览
     *
     * @param key      键值
     * @param category 类别
     * @param response 请求响应
     */
    void preview(String key, String category, HttpServletResponse response);

    /**
     * 删除
     *
     * @param key 键值
     * @return true-成功;false-失败
     */
    boolean delete(String key);

    /**
     * 删除
     *
     * @param key      键值
     * @param category 类别
     * @return true-成功;false-失败
     */
    boolean delete(String key, String category);
}

版权

Apache License 2.0

鼓励一下,喝杯咖啡

欢迎提出宝贵意见,不断完善它

鼓励一下,喝杯咖啡

马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/jiangchengshi/doudada-components.git
git@gitee.com:jiangchengshi/doudada-components.git
jiangchengshi
doudada-components
doudada-components
dev-1.x

搜索帮助