• MinIo使用小结


    在进行文件上传的时候,使用到了这项技术,这里简单做一下初步的总结。

    和阿里云的oss相似,也是有桶的概念,只不过是安装在本地的。

    首先要下载MinIo;

    官方链接:

    MinIO | The MinIO Quickstart Guideicon-default.png?t=M5H6https://docs.min.io/

    打开下载页面,下载window版的exe,然后在下载好的位置,打开cmd,运行

     minio.exe server 存储路径

     eg:minio.exe server /data

     到浏览器打开localhost:9000.看到Minio的客户端界面,默认账户名密码为miniodamin.然后就可以进行使用:

    上传和下载

    1. package com.itheima.MinioTest;
    2. import io.minio.DownloadObjectArgs;
    3. import io.minio.MinioClient;
    4. import io.minio.UploadObjectArgs;
    5. import io.minio.errors.*;
    6. import org.junit.Test;
    7. import java.io.IOException;
    8. import java.security.InvalidKeyException;
    9. import java.security.NoSuchAlgorithmException;
    10. public class MinioTest {
    11. String PATH = "C:\\Users\\XXX\\Desktop\\";
    12. String backUrl = "http://127.0.0.1:9000/demo/";
    13. @Test
    14. public void upload() throws Exception {
    15. MinioClient minioClient = MinioClient.builder()
    16. .endpoint("http://192.168.0.115:9000")
    17. .credentials("minioadmin","minioadmin")
    18. .build();
    19. minioClient.uploadObject(
    20. UploadObjectArgs.builder()
    21. .bucket("demo")
    22. .object("demo.png")
    23. .filename(PATH + "demo.png")
    24. .build());
    25. System.out.println(backUrl + "demo.png");
    26. // return backUrl + "demo.png";
    27. }
    28. @Test
    29. public void download() throws Exception {
    30. MinioClient minioClient = MinioClient.builder()
    31. .endpoint("http://127.0.0.1:9000")
    32. .credentials("minioadmin","minioadmin")
    33. .build();
    34. minioClient.downloadObject(
    35. DownloadObjectArgs.builder()
    36. .bucket("demo")
    37. .object("demo.png")
    38. .filename(PATH + "\\demo\\demo.png")
    39. .build());
    40. }
    41. }

    endpoint是 ip+端口

    credentials是MinIo生成的密钥,也可以用账户名和密码,但这样不安全

    bucket是桶名。

    object是上传之后文件的名字

    filename是文件的整个路径包括文件名

    文档中还有很多的API可以使用。上面展示的直接将文件路径传上去作为参数,但是一般的文佳上传都是MultipartFile,可以获得文件流,所以我们可以用输入流进行文件上传,对应的API是putObject;第一个是上传已知大小的文件输入流,第二个是上传未知大小的文件输入流。

    如果我们要获取上传之后,文件的访问的路径,也提供了相应的api.

     

    但是,官方给的这个访问路径是有有效期的,所以我们不用他这个,我们可以在界面上进行设置,然后就会出现一个永久的访问路径。

    第一步到桶的界面,点击设置: 

     

    第二,点击规则

     

    第三部,添加访问策略,写* ,下面保持readonly就可以,点击保存,就可以啦。

     

    这样设置之后,再上传的文件的访问路径就变成了:

    IP:端口/桶名/文件在桶内的路径/文件名称

     这样就做到了永久访问啦。文档是最好的师傅,但是我明白那种看不懂,又看到文档那么多感觉看不完的烦躁心态。这个时候可以尝试先看一下别的人总结的使用方法。然后一步步摸索,慢慢看。尝试着多使用搜索,这样可以找到你想要的功能哦。好啦,今天的总结就到这里!!!

  • 相关阅读:
    软件开发和软件测试,到底学哪个好呢?
    leetcode:滑动窗口----3. 无重复字符的最长子串
    数学建模:灰色预测模型
    python之计算市场技术指标
    2023年奔走的总结---吉特日化MES 制药项目 篇二
    制造业数字化转型-项目案例合集
    Python从入门到入土-网络爬虫(BeautifulSoup、lxml解析网页、requests获取网页)
    【Linux基础】Linux软件包管理器yum的使用指南rzsz安装
    poium测试库之JavaScript API封装原理
    Golang:gocron定时任务管理系统的安装与使用
  • 原文地址:https://blog.csdn.net/weixin_65549694/article/details/125448253