MinIO——分布式文件系统

对象如图片、视频、文档等存储方式对比:

          优点               缺点

  服务器磁盘: 开发便捷、成本低          扩展困难

分布式文件系统: 容易实现扩容            复杂度高

       第三方存储:开发简单,功能强大,免维护      收费

docker拉取镜像,创建容器

docker run -p 9000:9000 --name minio -d --restart=always -e "MINIO_ACCESS_KEY=minio" -e "MINIO_SECRET_KEY=minio123" -v /home/data:/data -v /home/config:/root/.minio minio/minio server /data

浏览器访问

 

上传文件进行静态访问

目标:将list.ftl文件上传到minio中,并且可以在浏览器中访问

复制代码
package com.heima.minio.test;


import io.minio.MinioClient;
import io.minio.PutObjectArgs;

import java.io.FileInputStream;
import java.io.FileNotFoundException;

public class MinIOTest {

    /**
     * 把list.html文件上传到minio中,并且可以在浏览器中访问
     * @param args
     */
    public static void main(String[] args) {
        try {
            FileInputStream fileInputStream = new FileInputStream("D:\\list.html");
            //1、获取minio的连接信息,创建一个minio的客户端
            MinioClient minioClient = MinioClient.builder().credentials("minio", "minio123").endpoint("http://192.168.200.130:9000").build();

            //2、上传
            PutObjectArgs putObjectArgs = PutObjectArgs.builder()
                    .object("list.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/list.html");

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


    }
}
复制代码

 

封装MinIO为starter

  文章微服务:文件服务

  自媒体微服务:文件服务

  评论微服务:文件服务

  其它服务:文件服务

将MinIO封装为starter,就不必每次都创建该服务再进行文件存储。

 

posted @   佛系粥米  阅读(207)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示