Java 继承 Minio 实现文件上传、文件下载、文件删除等功能

举报
wljslmz 发表于 2023/04/26 12:09:10 2023/04/26
【摘要】 Minio 是一个开源的对象存储服务器,由于其可扩展性和高可用性,它正在成为越来越受欢迎的对象存储服务器。本文将介绍如何在 Java 中集成 Minio,并实现文件上传、文件下载、文件删除等功能。 Minio 的概述Minio 致力于设计一个可扩展的对象存储服务器,能够支持多租户,可以扩展到数千个节点,能够满足各种存储需求。Minio 可以作为开源的代替 Amazon S3,用于存储、索引和...

Minio 是一个开源的对象存储服务器,由于其可扩展性和高可用性,它正在成为越来越受欢迎的对象存储服务器。本文将介绍如何在 Java 中集成 Minio,并实现文件上传、文件下载、文件删除等功能。

Minio 的概述

Minio 致力于设计一个可扩展的对象存储服务器,能够支持多租户,可以扩展到数千个节点,能够满足各种存储需求。Minio 可以作为开源的代替 Amazon S3,用于存储、索引和检索各种数据对象,例如视频、音频、文本文件、图像等等。

集成 Minio

要在 Java 中使用 Minio,首先需要在 Maven 中添加 minio-client 依赖项:

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

添加依赖项后,使用下列代码进行连接:

import io.minio.MinioClient;

public class MinioExample {
    public static void main(String[] args) {
        try {
            MinioClient client = new MinioClient("http://localhost:9000", "ACCESS_KEY", "SECRET_KEY");
            // 检查服务是否已经启动
            boolean isRunning = client.ping();
            System.out.println("服务是否启动:" + isRunning);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

将 ACCESS_KEY 和 SECRET_KEY 替换为你自己的凭证,并将“localhost:9000”替换为 Minio 服务器的地址。

现在,我们已经成功地连接到 Minio 服务器。接下来,让我们看看如何实现文件上传、文件下载和文件删除等功能。

文件上传

下面是一个文件上传的例子:

import io.minio.MinioClient;
import io.minio.errors.MinioException;
import java.io.File;

public class UploadFile {
    public static void main(String[] args) {
        try {
            // 创建一个新的MinioClient对象
            MinioClient client = new MinioClient("http://localhost:9000", "ACCESS_KEY", "SECRET_KEY");
            // 上传文件
            client.putObject("mybucket", "myobject", "path/to/myfile.jpg");
            System.out.println("文件上传成功");
        } catch (MinioException e) {
            System.out.println("Error occurred: " + e);
            e.printStackTrace();
        }
    }
}

将“mybucket”替换为你的储存桶名称,“myobject”替换为文件的名称,“paht/to/myfile.jpg” 则是待上传文件的路径。

文件下载

下面是一个文件下载的例子:

import io.minio.MinioClient;
import io.minio.errors.MinioException;
import java.io.IOException;

public class DownloadFile {
    public static void main(String[] args) {
        try {
            // 创建一个新的MinioClient对象
            MinioClient client = new MinioClient("http://localhost:9000", "ACCESS_KEY", "SECRET_KEY");
            // 下载文件
            client.getObject("mybucket", "myobject", "path/to/localfile.jpg");
            System.out.println("文件下载成功");
        } catch (MinioException | IOException e) {
            System.out.println("Error occurred: " + e);
            e.printStackTrace();
        }
    }
}

将“mybucket”替换为你的储存桶名称,“myobject”替换为文件的名称,“path/to/localfile.jpg”是下载文件存储的地址。

文件删除

下面是一个文件删除的例子:

import io.minio.MinioClient;
import io.minio.errors.MinioException;

public class DeleteFile {
    public static void main(String[] args) {
        try {
            // 创建一个新的MinioClient对象
            MinioClient client = new MinioClient("http://localhost:9000", "ACCESS_KEY", "SECRET_KEY");
            // 删除文件
            client.removeObject("mybucket", "myobject");
            System.out.println("文件删除成功");
        } catch (MinioException e) {
            System.out.println("Error occurred: " + e);
            e.printStackTrace();
        }
    }
}

将“mybucket”替换为你的储存桶名称,“myobject”替换为待删除文件的名称。

结论

在本文中,我们学习了如何在 Java 中集成 Minio,并实现文件上传、文件下载和文件删除等功能。如果你想要更多关于 Minio 的学习,可以查看其官方文档。

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。