Minio:基本使用

简介:

MinIO是基于Apache License v2.0开源协议的对象存储服务,可以作为云存储的解决方案来存储海量的图片,视频,文件等数据。

由于采用Golang语言实现,服务端可以工作在Windows,Linux, OS X和FreeBSD上。配置简单,基本是复制可执行程序,单行命令可以运行起来。

MinIO兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。

官网文档:MinIO Object Storage for Kubernetes — MinIO Object Storage for Kubernetes

1、minion启动

        安装参考:docker安装minio_你的小伙伴啊的博客-CSDN博客

        我这里直接在虚拟机启动并访问 http://192.168.200.130:9000

Minio:基本使用_第1张图片

 2、点击右下角 + 号创建一个桶

Minio:基本使用_第2张图片

 3、在项目中创见demo工程minio-demo

        pom文件内容如下



    
        heima-leadnews-test
        com.heima
        1.0-SNAPSHOT
    
    4.0.0

    minio-demo

    
        8
        8
    

    

        
            io.minio
            minio
            7.1.0
        
        
            org.springframework.boot
            spring-boot-starter-web
        

        
            org.springframework.boot
            spring-boot-starter-test
            
                
                    org.junit.vintage
                    junit-vintage-engine
                
            
        
    

4、创建测试类MinIOTest上传文件

package com.heima.miniodemo;

import io.minio.MinioClient;
import io.minio.PutObjectArgs;
import java.io.FileInputStream;

public class MinIOTest {


    public static void main(String[] args) {

        FileInputStream fileInputStream = null;
        try {

            fileInputStream =  new FileInputStream("E:/javaEE/heima-leadnews/heima-leadnews-test/freemarker-demo/src/main/resources/templates/test.html");;

            //1.创建minio链接客户端
            MinioClient minioClient = MinioClient.builder().credentials("minio", "minio123").endpoint("http://192.168.200.130:9000").build();
            //2.上传
            PutObjectArgs putObjectArgs = PutObjectArgs.builder()
                    .object("test.html")//文件名
                    .contentType("text/html")//文件类型
                    .bucket("leadnews")//桶名词  与minio创建的名词一致
                    .stream(fileInputStream, fileInputStream.available(), -1) //文件流
                    .build();
            minioClient.putObject(putObjectArgs);

            System.out.println("http://192.168.200.130:9000/leadnews/ak47.jpg");

        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
}

5、查看结果

        上传成功

Minio:基本使用_第3张图片

你可能感兴趣的:(spring,boot)