奔波儿灞爱霸波尔奔

奔波儿灞爱霸波尔奔

杂七杂八之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;
    }

我们可以在对应的路径下看到我们上传的文件:
杂七杂八之MinIO文件上传-LMLPHP

结论

本文介绍了如何通过 Java 连接到 MinIO,并实现基本的文件上传和下载功能。MinIO 提供了与 S3 一致的 API,使得在对象存储系统之间迁移变得更加简单。希望这篇文章能够帮助你快速上手 MinIO 的基本操作。

11-13 20:38