SpringBoot整合MinIO Java SDK实现文件存储服务

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进行文件存储操作了。

猜你喜欢

转载自blog.csdn.net/u014698745/article/details/123751935
今日推荐