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