Minio基本使用

  • Post author:
  • Post category:其他


对于项目的文件存储可以使用

MinIo

文件管理系统

官网地址:

MinIO | High Performance, Kubernetes Native Object Storage

下载使用

先根据官网地址进行下载MinIo的server端和client端,

下载好后,将server client端放到一个你想放的文件夹,本文以

C:\JAVA\RUANJIAN\minio

路径放置,并创建了一个

file

文件夹来作为server端启动时指定的路径,如图:



在此路径下进入cmd窗口,输入如下命令

.\minio.exe server C:\JAVA\RUANJIAN\minio\file

请注意minio.exe默认占用

9000

端口,请保持此端口空闲,或者可以去官网查询启动时添加端口参数命令.

当出现这样就说明你的minio启动正常,选择你的浏览器输入

http://localhost:9000/

,会自动跳转到minio控制台界面:63682。



登录的用户名和密码会在启动minio的cmd窗口显示。

如: minioadmin

minio配置

然后可以在导航栏的

identity/user

处创建一个用户,点击

create user

按钮





用户名密码以及权限可以自行选择,密码需要大于8位,创建好用户之后,也可以使用该用户以及密码进行minio控制台的登录。

之后点击

service account

按钮然后点击

create service account

按钮



会随机生成

accessKey secretKey

,点击

create

按钮后.



会将这两个key进行展示,此时可以复制粘贴到一个文本文件上,后续使用代码上传文件时需要用到这两个key



然后再创建一个

bucket


尽量给你的bucket取一个有意义的名字或者是比较好记的,后面也会用到。

开始编写一个上传文件的demo

创建一个maven项目,导入依赖:


pom.xml

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

编写上传测试类



FileUploader.java

package com.example.demo.util;
import io.minio.BucketExistsArgs;
import io.minio.MakeBucketArgs;
import io.minio.MinioClient;
import io.minio.UploadObjectArgs;
import io.minio.errors.MinioException;
import java.io.IOException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;

public class FileUploader {
    public void uploaderTest() throws IOException, NoSuchAlgorithmException, InvalidKeyException {
        try {
            // Create a minioClient with the MinIO server playground, its access key and secret key.
            MinioClient minioClient =
                    MinioClient.builder()
                            .endpoint("http://localhost:9000")//本地地址
                            .credentials("YkiUUqxc4S21cO8X",              "s64lkz48nCSGzcEaYeYA9soCMB5GmtBv")//之前保存的key
                            .build();

            // 判断你的bucket,有没有叫“你的名字”
            boolean found =
                    minioClient.bucketExists(BucketExistsArgs.builder().bucket("cxlong").build());
            if (!found) {             
                minioClient.makeBucket(MakeBucketArgs.builder().bucket("cxlong").build());
            } else {
                System.out.println("Bucket 'cxlong' already exists.");
            }

            // 上传 'C:\\Users\\CXLONG\\Pictures\\aaa1.png' 图片在minio叫 'aaa1.png' 在 //'cxlong'里面
            minioClient.uploadObject(
                    UploadObjectArgs.builder()
                            .bucket("cxlong")
                            .object("aaa1.png")
                            .filename("C:\\Users\\CXLONG\\Pictures\\aaa1.png")
                            .build());
            System.out.println(
                    "'C:\\Users\\CXLONG\\Pictures\\aaa1.png' is successfully uploaded as "
                            + "object 'C:\\Users\\CXLONG\\Pictures\\aaa1.png' to bucket 'cxlong'.");
        } catch (MinioException e) {
            System.out.println("Error occurred: " + e);
            System.out.println("HTTP trace: " + e.httpTrace());
        }
    }
}

这样就可以将所选的图片上传到minio上了,然后去你的bucket刷新一下就能看到刚刚上传的文件。



如果设置了正确的contentType就会有


preview


这个选项就可以在控制台预览图片,也可以点击

share

,复制url到浏览器打开,如果没有设置contentType就会需要下载

上传图片到minio就简单的完成了,上传其他文件也是一样的。



版权声明:本文为ACTIVE18原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。