当前位置: 首页 > news >正文

使用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/
      image-20231223211934108

      image-20231223211151240

    2. 上传图片

      image-20231223211233501

      image-20231223211420787

      image-20231223211444493

      image-20231223211752102

    3. 访问图片

image-20231223211839559

引入JavaSDK 测试 上传和下载

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

    image-20231223201338315

  2. pom

    <dependency><groupId>io.minio</groupId><artifactId>minio</artifactId><version>8.5.7</version>
    </dependency>
    
  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); //下载链接
    
http://www.lryc.cn/news/266380.html

相关文章:

  • 插入排序之C++实现
  • Tomcat日志乱码了怎么处理?
  • [node] Node.js的路由
  • 网络编程第三天作业
  • AIGC:大语言模型LLM的幻觉问题
  • 【C语言刷题每日一题#牛客网BC68】——X形图案
  • 阻断血缘关系以及checkpoint文件清理
  • PHP代码审计之反序列化攻击链CVE-2019-6340漏洞研究
  • PyTorch之线性回归
  • SSTI模板注入基础(Flask+Jinja2)
  • React网页转换为pdf并下载|使用jspdf html2canvas
  • EASYEXCEL导出表格(有标题、单元格合并)
  • pytest 断言异常
  • 听GPT 讲Rust源代码--src/tools(22)
  • OD Linux发行版本
  • 华为端口隔离简单使用方法同vlan下控制个别电脑不给互通
  • DaVinci各版本安装指南
  • 【黑马甄选离线数仓day10_会员主题域开发_DWS和ADS层】
  • OD 完美走位
  • SpringSecurity6 | 失败后的跳转
  • MySQL数据库增删改查
  • Altium Designer(AD24)新工程复用设计文件图文教程及视频演示
  • Python遥感影像深度学习指南(1)-使用卷积神经网络(CNN、U-Net)和 FastAI进行简单云层检测
  • Hive-DML详解(超详细)
  • PHP实现可示化代码
  • useState语法讲解
  • 堆与二叉树(下)
  • 讲诉JVM
  • 8、SpringCloud高频面试题-版本1
  • PHP案例代码:PHP如何提供下载功能?