MinIO-Plus 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
MinIO-Plus 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
MinIO-Plus 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 Apache-2.0
开发语言 Java
操作系统 跨平台
软件类型 开源软件
所属分类 服务器软件存储系统
开源组织
地区 国产
投 递 者 竹栏呓语
适用人群 未知
收录时间 2024-08-02

软件简介

MinIO-Plus 是一个 MinIO 的二次封装与增强工具,在 MinIO 的基础上只做增强,不侵入 MinIO 代码,只为简化开发、提高效率而生。成为 MinIO 在项目中落地的润滑剂。

特性

  • 无侵入 :只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑。
  • 文件秒传 :对每个上传的文件进行哈希摘要识别,用户上传同一个文件时,没有文件实际传输过程,做到秒传。
  • 并发上传 :将文件切分为小块。同时并发上传多个小块,最大限度地利用带宽,加快上传速度。
  • 断点续传 :在传输过程中遇到问题导致传输失败,只需重新传输未完成的小块,而不需要重新开始整个传输任务。
  • 缩略图生成 :识别文件类型,在图片上传时自动生成缩略图,缩略图大小可配置。
  • 自动桶策略 :按照文档、压缩包、音频、视频、图片等类型自动建桶,按照/年/月划分路径,避免受到操作系统文件目录体系影响导致性能下降。
  • 访问权限控制 :可支持基于用户、组的文件权限控制,保证重要文件的安全性。
  • 访问链接时效 :基于 MinIO 的临时链接创建策略,提供具备有效期并预签名的上传与下载地址。
  • 前端直连 :前端直连 MinIO ,项目工程不做文件流的搬运,在支持以上特性的情况下提供 MinIO 原生性能。
  • 极佳的兼容性 :JDK 从 1.8 至 17+,并同时支持 SpringBoot2 和 SpringBoot3。

快速开始

minio-plus 是一个 Java 语言的 SDK ,通过 jar 包的形式发布到 Maven 中央仓库。

我们假设您已经具备已下知识:

  • 熟练使用 Java 相关 IDE ,具备 Java 开发环境
  • 熟练使用 Spring Boot 框架
  • 熟悉 Maven,或者是 Gradle 也行

添加依赖

引入 MinIO Plus Starter 依赖

<dependencys>
    <dependency>
        <groupId>me.liuxp</groupId>
        <artifactId>minio-plus-all-springboot-starter</artifactId>
        <version>1.0.0</version>
    </dependency>
    <dependency>
        <groupId>me.liuxp</groupId>
        <artifactId>s3-api-minio</artifactId>
        <version>1.0.0</version>
    </dependency>
</dependencys>

配置参数

application.yml配置文件中,添加 MinIO Plus 相关配置项:

##################################################################
### MinIO Plus Config
##################################################################
minioplus:
    # MinIO 部署地址
    backend: http://localhost:9000
    # 授权key
    key: minioadmin
    # 密钥
    secret: minioadmin

文件元数据读写实现

实现 MetadataRepository 接口类来保存文件元数据。

登录用户信息写入

MinIO Plus 提供的文件权限功能,依赖于用户登录信息。

需要在请求拦截器中调用UserHolder.set(userId)方法插入用户编号,游客访问时可以放入空字符串。

示例代码

可以查看项目仓库中 /minio-plus-application/minio-plus-application-springboot3 路径。 这是一个写好的,使用了minio-plus-all-springboot-starter和MySQL的例子。

仓库

版权

本项目基于 Apache License 2.0 开源协议,可用于商业项目。

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击引领话题📣 发布并加入讨论🔥
暂无内容
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
暂无内容
0 评论
3 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部