MinIO是一个非常轻量的文件存储服务,可以很简单的和其他应用的结合,类似 NodeJS、Redis 或者 MySQL。MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。
MinIO Java SDK API文档:https://docs.min.io/docs/java-client-api-reference
开发环境:JDK1.8+SpringBoot 2.1.12.RELEASE+MinIO 8.3.7
添加MinIO依赖(引入MinIO可能有依赖冲突),可自行解决冲突问题,此处只记录我遇到的冲突问题。
kotlin-stdlib与okhttp3依赖冲突或版本过低,导致整合MinIO失败。问题详见:【MinIO】SpringBoot引入MinIO依赖遇到的一些问题:okhttp、kotlib-stdlib
排除MinIO的okhttp3依赖,重新引入okhttp3和kotlin-stdlib。
<!-- 设置版本号 --> <properties> <minio.version>8.3.7</minio.version> <okhttp.version>4.9.0</okhttp.version> <kotlin-stdlib.version>1.3.70</kotlin-stdlib.version> </properties <!-- MinIO Java SDK for Amazon S3 Compatible Cloud Storage --> <dependency> <groupId>io.minio</groupId> <artifactId>minio</artifactId> <version>${minio.version}</version> <exclusions> <exclusion> <groupId>com.squareup.okhttp3</groupId> <artifactId>okhttp</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.squareup.okhttp3</groupId> <artifactId>okhttp</artifactId> <version>${okhttp.version}</version> </dependency> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-stdlib</artifactId> <version>${kotlin-stdlib.version}</version> </dependency>
解决完冲突,接下来就可以参照官网API进行文件存储操作了。