初识MinIO

MinIO是什么

MinIO是一个开源的、高性能的、兼容S3的对象存储解决方案

MinIO的下载、安装、运行

Docker一键运行MinIO容器

docker run -d -p 9000:9000 -p 9001:9001 minio/minio server /data --console-address ":9001"

出现了以下结果,则说明Docker完成了MinIO镜像的下载并成功运行MinIO容器
在这里插入图片描述

MinIO控制台操作文件上传

  • 访问MinIO控制台
    • 访问地址:http://{your ip}:9001/login
    • 用户名/密码:minioadmin/minioadmin
  • 创建Bucket
    在这里插入图片描述
    在这里插入图片描述
  • 上传文件
    在这里插入图片描述
    在这里插入图片描述

Java客户端操作文件上传

  • 创建access key
    在这里插入图片描述

  • 引入Maven依赖

<dependency>
    <groupId>io.minio</groupId>
    <artifactId>minio</artifactId>
    <version>8.5.9</version>
</dependency>
  • 编写上传demo
public static void main(String[] args) {
        try {
            // 创建一个MinIO客户端
            MinioClient minioClient =
                    MinioClient.builder()
                            .endpoint("http://{your ip}", 9000, false)
                            .credentials("your accessKey", "your secretKey")
                            .build();
            // 根据文件路径上传文件
            // minioClient.uploadObject(
            //         UploadObjectArgs.builder()
            //                 .bucket("newoss")  // bucket
            //                 .object("20240422/hello.png")  // 指定文件上传成功后在MinIO的目录名和文件名
            //                 .filename("C:\\Users\\cmbsysadmin\\Desktop\\测试图片\\测试.png")  // 要上传的文件地址
            //                 .build());
            // 根据文件流上传文件
            FileInputStream fileInputStream = new FileInputStream("C:\\Users\\cmbsysadmin\\Desktop\\测试图片\\测试.png");
            ObjectWriteResponse newoss = minioClient.putObject(PutObjectArgs.builder()
                    .bucket("your bucket")
                    .object("hello.png")
                    .stream(fileInputStream, -1, 1024 * 1024 * 10).build());
        } catch (MinioException e) {
            System.out.println("Error occurred: " + e);
            System.out.println("HTTP trace: " + e.httpTrace());
        } catch (IOException e) {
            throw new RuntimeException(e);
        } catch (NoSuchAlgorithmException e) {
            throw new RuntimeException(e);
        } catch (InvalidKeyException e) {
            throw new RuntimeException(e);
        }
    }
  • 33
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值