跳转到正文

MinIO 的配置与使用

小译
发布日期:
阅读约 1 分钟

MinIO

  1. 添加maven依赖

    <dependency>
        <groupId>io.minio</groupId>
        <artifactId>minio</artifactId>
        <version>8.5.1</version>
    </dependency>
  2. 创建一个minioClient

    • endpoint 方法里的参数按实际情况填 MinIO 的服务地址
    • credentials 方法里的参数按实际情况分别填上对应的 Username 和 Password(accessKey 和 secretKey)
    private static final MinioClient minioClient =
                MinioClient.builder()
                        .endpoint("http://192.168.200.128:9000")
                        .credentials("minioadmin", "minioadmin")
                        .build();
  3. 上传文件到指定Bucket的根目录下

    @Test
    void testUploadObject() {
        try {
            UploadObjectArgs uploadObjectArgs = UploadObjectArgs.builder()
                .bucket("test-bucket")
                .object("pic.jpg")
                .filename("D:\\images\\pic.jpg")
                .build();
            minioClient.uploadObject(uploadObjectArgs);
            System.out.println("上传成功!");
        } catch (Exception e) {
            System.out.println("上传失败!");
        }
    }

    可以看到D:\\images\\pic.jpg文件成功上传到 MinIO 的 test-bucket 上,文件名为 pic.jpg

  4. 上传文件到指定Bucket的多级目录下

    @Test
    void testUploadObject2() {
        try {
            UploadObjectArgs uploadObjectArgs = UploadObjectArgs.builder()
                .bucket("test-bucket")
                .object("2023/1/14/pic.jpg")
                .filename("D:\\images\\pic.jpg")
                .build();
            minioClient.uploadObject(uploadObjectArgs);
            System.out.println("上传成功!");
        } catch (Exception e) {
            System.out.println("上传失败!");
        }
    }

    这里用当前日期作为多级目录,使用方式跟上面的testUploadObject测试方法类似,创建多级目录可以在.object("2023/1/14/pic.jpg")里写上对应的路径来创建。运行该方法后,可以在控制台上查看是否成功上传到指定的多级目录下:

    image-20241106192630547

  5. 删除文件

    @Test
    void testRemoveObject() {
        try {
            RemoveObjectArgs removeObjectArgs = RemoveObjectArgs.builder()
                .bucket("test-bucket")
                .object("pic.jpg")
                .build();
            minioClient.removeObject(removeObjectArgs);
            System.out.println("删除成功!");
        } catch (Exception e) {
            System.out.println("删除失败!");
        }
    }
  6. 下载文件

    @Test
    void testDownloadObject() {
        try {
            DownloadObjectArgs downloadObjectArgs = DownloadObjectArgs.builder()
                .bucket("test-bucket")
                .object("2023/1/14/pic.jpg")
                .filename("D:\\images\\pic2.jpg")
                .build();
            minioClient.downloadObject(downloadObjectArgs);
            System.out.println("下载成功!");
        } catch (Exception e) {
            System.out.println("下载失败!");
        }
    }

    这个方法将 MinIO 的test-bucket下的2023/1/14/pic.jpg文件下载到D:\\images\\pic2.jpg

COMMENTS

评论

友善交流,理性表达