本章节将介绍怎样使用 Java 连接到 MinIO 服务,判断某个存储桶是否存在;如果存储桶不存在,这创建该存储桶;然后,将本地的文件上传到 MinIO 的存储桶中。
在项目的 pom.xml 文件中添加如下依赖:
<dependency> <groupId>io.minio</groupId> <artifactId>minio</artifactId> <version>7.0.2</version> </dependency>
在项目中添加一个 Demo1.java 类,代码如下:
package com.hxstrive.minio; import io.minio.MinioClient; /** * 将本地文件存储到 MinIO 的 files 存储桶中 * @author Administrator 2021/7/16 13:42 * @version 1.0 */ public class Demo1 { public static void main(String[] args) { try { // 使用MinIO服务的URL,端口,Access key和Secret key创建一个MinioClient对象 MinioClient minioClient = new MinioClient( "http://127.0.0.1:9000", "root", "mypassword"); // 检查存储桶是否已经存在 boolean isExist = minioClient.bucketExists("files"); if(isExist) { System.out.println("Bucket already exists."); } else { // 创建一个名为 images 的存储桶,用于存储照片 zip minioClient.makeBucket("files"); } // 使用 putObject 上传一个文件到存储桶中。 minioClient.putObject("files", "images.zip", "D:\\tmp\\images.zip", null); System.out.println("D:\\tmp\\images.zip is successfully" + " uploaded as images.zip to `files` bucket."); } catch(Exception e) { e.printStackTrace(); } } }
上面代码中,先连接到 MinIO 服务获得 MinioClient 对象;使用 bucketExists("files") 方法判断是否存在 files 存储桶;如果存储桶不存在,则使用 makeBucket("files") 创建存储桶;最后,使用 putObject() 方法将本地文件上传到 MinIO 服务的 files 存储桶中;
下图是运行上面代码控制台输出信息:
运行成功后,访问 http://localhost:9000 地址,验证上传的文件是否存在。如下图:
上图中,在 files 存储桶中存在 images.zip 文件,就是我们刚刚上传的文件……