MinIO入门学习(二)

MinIO快速开始

前提:本地需要事先启动MinIO

如果项目通过maven构建可在项目工程中引入maven坐标

<dependency>
    <groupId>io.minio</groupId>
    <artifactId>minio</artifactId>
    <version>3.0.10</version>
</dependency>

如果项目为gradle构建则导入对应的gardle坐标

dependencies {
    compile 'io.minio:minio:3.0.10'
}

没有maven可直接在meven仓库下载相关jar包导入所在工程

使用java进行图片上传

通过MinIO官方java SDk文档可得到MinIO的demo如下:

public class FileUploader {
    public static void main(String[] args) throws NoSuchAlgorithmException, IOException, InvalidKeyException{
        try {
            // 使用MinIO服务器名称、端口、AccessKey和SecreKey创建minioClient。得到MinIOClient对象
            MinioClient minioClient = new MinioClient("http://localhost:9000", "minioadmin", "minioadmin");
      
            // 检查Bucket是否已经存在。参数demo为自己创建的bucket名称
            boolean isExist =
                    minioClient.bucketExists(BucketExistsArgs.builder().bucket("demo").build());
            if(isExist) {
                System.out.println("Bucket already exists.");
            } else {
                // 如果不存在 则创建一个新的bucket 用于存储文件.
                minioClient.makeBucket(MakeBucketArgs.builder().bucket("demo").build());
            }

            // 使用minioClient 的putObject 方法上传
            minioClient.putObject("demo", "demo.jpg", "C:\\Users\\Esummer\\Downloads\\shading-math.jpg", null);
            System.out.println("asiaphotos.zip is successfully uploaded as asiaphotos.zip to `asiatrip` bucket.");
        } catch(MinioException e) {
            System.out.println("Error occurred: " + e);
        }
    }
}

putObject()是一个重载的方法,开发者可根据需求进行使用。

:关于上面的minioClient.pubOjbect()方法,官网给出的实例代码为:

minioClient.putObject("asiatrip","asiaphotos.zip", "/home/user/Photos/asiaphotos.zip");

可能依赖版本原因,找不到对应的方法,如图,所以上面代码使用的是4个参数的方法,设置传入的第四个参数PutObjectOptions对象为null

 

posted @ 2020-10-09 21:12  初夏†失忆  阅读(1080)  评论(0)    收藏  举报