使用minio实现大文件断点续传

部署 minio

  1. 拉取镜像

    docker pull minio/minio
    docker images
    
    

    image-20231223213107713

  2. 新建映射目录

    新建下面图片里的俩个目录 data(存放对象-实际的数据) config 存放配置
    

    image-20231223214129975

  3. 开放对应端口

    我使用的是腾讯服务器所以 在腾讯的安全页面开启  9000,9090 两个端口就可以了(根据大家实际的情况进行开放端口号)
    
  4. 启动镜像

    docker run  -p 9000:9000 -p 9090:9090 --name minio \
     -d --restart=always \
     -e MINIO_ACCESS_KEY=minio \
     -e MINIO_SECRET_KEY=minio@123 \
     -v /home/nas/minio/data:/data \
     -v /home/nas/minio/config:/root/.minio \
      minio/minio server /data  --console-address ":9000" --address ":9090"
    

    在这里插入图片描述

  5. 测试minio是否搭建成功

    1. 访问管理页面

      账号密码

      minio

      minio@123

      http://ip:9000/
      使用minio实现大文件断点续传_第1张图片

      使用minio实现大文件断点续传_第2张图片

    2. 上传图片

      使用minio实现大文件断点续传_第3张图片

      使用minio实现大文件断点续传_第4张图片

      使用minio实现大文件断点续传_第5张图片

      使用minio实现大文件断点续传_第6张图片

    3. 访问图片

使用minio实现大文件断点续传_第7张图片

引入JavaSDK 测试 上传和下载

  1. 在程序里使用需要先创建密钥,和对用的桶

    使用minio实现大文件断点续传_第8张图片

  2. pom

    
        io.minio
        minio
        8.5.7
    
    
  3. 测试程序-上传

    minioClient = MinioClient.builder().endpoint(Url).credentials(AccessKey,SecretKey).build();
            // Make 'asiatrip' bucket if not exist.
            boolean found =
                    minioClient.bucketExists(BucketExistsArgs.builder().bucket(Bucket).build());
            if (!found) {
                // Make a new bucket called 'asiatrip'.
                //minioClient.makeBucket(MakeBucketArgs.builder().bucket("asiatrip").build());
                System.out.println("不存在!!!");
            } else {
                System.out.println("Bucket already exists.");
            }
    
            // Upload '/home/user/Photos/asiaphotos.zip' as object name 'asiaphotos-2015.zip' to bucket
            // 'asiatrip'.
            minioClient.uploadObject(
                    UploadObjectArgs.builder()
                            .bucket(Bucket)
                            .object("笔记.zip")
                            .filename("/Users/woods/candaoCodes/woodsTest/src/main/resources/笔记.zip")
                            .build());
    
  4. 测试程序-下载

    minioClient = MinioClient.builder().endpoint(Url).credentials(AccessKey,SecretKey).build();
            String presignedObjectUrl = minioClient.getPresignedObjectUrl(
                    GetPresignedObjectUrlArgs.builder()
                            .method(Method.GET)
                            .bucket(Bucket)
                            .object("笔记.zip")
                            .expiry(10000)
                            .build());
            System.out.println(presignedObjectUrl); //下载链接
    

你可能感兴趣的:(#,Java,#,SpringBoot,java,开发语言,对象存储)