MinIO

MinIO

1、概述

MinIO 是在 GNU Affero 通用公共许可证 v3.0 下发布的高性能对象存储。 它是与 Amazon S3 云存储服务兼容的 API。 使用 MinIO 为机器学习、分析和应用程序数据工作负载构建高性能基础架构。

2、服务器的安装及使用

2.1 下载minio.exe

(https://min.io/download)

2.2 启动运行

1、进入 minio.exe 存放目录(D:\minio\data 为你存放静态文件的目录)

cd D:/minio/

2、执行命令

minio.exe server D:\minio\data --console-address ":9001"

2.3 访问

访问地址:http://127.0.0.1:9001

默认的登录账号密码:minioadmin

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

注意:端口号9000和9001的区别

​ 9000端口用于访问Minio服务 - Java操作Minio的端口

​ 9001用于访问Minio的控制台 - 可视化页面

2.4 在idea中使用Minio

2.3.1 添加依赖
<!-- minion客户端-->
<dependency>
    <groupId>io.minio</groupId>
    <artifactId>minio</artifactId>
    <version>8.4.3</version>
</dependency>
2.3.1 编写MinioUtils工具类实现上传和下载
public class MinioUtils {
    private static MinioClient minioClient;

    static {
        // 创建minioClient
        minioClient = MinioClient.builder().endpoint("http://127.0.0.1:9000").credentials("minioadmin", "minioadmin").build();
    }

    /**
     * 创建桶
     *
     * @param bucketName 桶的名称
     */
    public static void createBucket(String bucketName) throws Exception {
        // 先判断桶是否存在,不存在则创建
        if (!minioClient.bucketExists(BucketExistsArgs.builder().bucket(bucketName).build())) {
            minioClient.makeBucket(MakeBucketArgs.builder().bucket(bucketName).build());
        }
    }

    /**
     * 上传文件
     *
     * @param bucketName 桶的名称
     * @param remotePath 远程要上传文件的路径
     * @param localPath  本地文件的路径
     */
    public static void upload(String bucketName, String remotePath, String localPath) throws Exception {
        minioClient.uploadObject(UploadObjectArgs.builder()
                // 指定桶的名字
                .bucket(bucketName)
                // 上传的远程文件路径 - 相对路径
                .object(remotePath)
                // 本地文件的路径 - 绝对路径
                .filename(localPath)
                .build());
    }

    /**
     * 文件下载
     *
     * @param bucket       桶的名称
     * @param remotePath   远程文件路径
     * @param downloadPath 下载到本地保存的路径
     */
    public static void download(String bucket, String remotePath, String downloadPath) throws Exception {
        minioClient.downloadObject(DownloadObjectArgs.builder().bucket(bucket)
                .object(remotePath)
                .filename(downloadPath)
                .build());
    }
}
2.3.3 测试代码
public class Main {
    public static void main(String[] args) throws Exception {
      	// 创建桶bucket对象
        // MinioUtils.createBucket("myapp");
      
        String bucket = "myapp";
        String remotePath = "files/springmvc.pdf";
        String localPath = "D://files//springmvc.pdf";
      	// 上传
      	// MinioUtils.upload(bucket, remotePath, localPath);
      	// 下载
        MinioUtils.download(bucket, remotePath, localPath);
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WyuanY.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值