杂七杂八之MinIO文件上传
MinIO 是一个高性能的对象存储服务,兼容 Amazon S3 的 API。本文将介绍如何通过 Java 连接到 MinIO 服务器,并实现文件的上传和下载功能。
前期准备
环境要求
确保你已经满足以下环境要求:
● Java 8 及以上
● Maven
● MinIO 服务器
添加依赖
在你的 Java 项目中,你需要添加 MinIO 的 SDK 依赖。使用 Maven 的话,需要在 pom.xml 文件中添加以下依赖:
<dependency>
<groupId>io.minio</groupId>
<artifactId>minio</artifactId>
<version>8.3.9</version> <!-- 请使用最新版本 -->
</dependency>
MinIO文件上传
之前文章中已经给出MinIO连接和文件下载的例子,我们这里就不再重复,我们对文件下载的代码进行编写,代码如下。
public boolean fileUpload(String jobName,String bucketName,String object){
boolean isUploadFileSuccess = false;
ConnectMinio connectMinio = new ConnectMinio();
MinioClient minioClient = connectMinio.connectMinio();
File file = new File("analysislogs/" + jobName + "/" + jobName + ".log");
try (InputStream is = new FileInputStream(file)) {
PutObjectArgs putObjectArgs = PutObjectArgs.builder()
.bucket(bucketName) // 桶名
.object(object.substring(0,object.length()-10) + "analysis.log") // 在桶中的对象名
.stream(is, is.available(), -1) // 输入流和大小
.build();
minioClient.putObject(putObjectArgs); // 使用 PutObjectArgs 上传
log.info("文件上传成功: " + object);
}catch (Exception e){
e.printStackTrace();
}
return isUploadFileSuccess;
}
我们可以在对应的路径下看到我们上传的文件:
结论
本文介绍了如何通过 Java 连接到 MinIO,并实现基本的文件上传和下载功能。MinIO 提供了与 S3 一致的 API,使得在对象存储系统之间迁移变得更加简单。希望这篇文章能够帮助你快速上手 MinIO 的基本操作。