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
本文作者:初夏†失忆
本文链接:https://www.cnblogs.com/Esummer/p/13788464.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步