其他分享
首页 > 其他分享> > spring boot 集成minIo

spring boot 集成minIo

作者:互联网

minio的安装与配置

1、什么是 MinIO?

MinIO 是一款高性能、分布式的对象存储系统。

对象存储服务OSS(Object Storage Service)是一种海量、安全、低成本、高可靠的云存储服务,适合存放任意类型的文件。容量和处理能力弹性扩展,多种存储类型供选择,全面优化存储成本。

MinIO 可以作为私有云的对象存储服务来使用。

官方介绍:http://www.minio.org.cn/overview.shtml#

2、minio的安装

2.1、Windows安装包下载

可以从https://min.io/download#/windows下载minio.exe可执行的文件。

提示:如果觉得官网下载慢,可以使用我分享的网盘地址: https://pan.baidu.com/s/1E9J52g6uW_VFWY34fHL6zA 提取码: vneh

初始化目录

新建一个目录存放minio文件,例如D:\minioData

启动

直接在cmd下运行minio.exe server D:\minioData

可以使用 --console-address ":9001" 来选择特定接口和端口。

image

2.2、Docker安装

初始化目录

mkdir /minio`
`mkdir /minio/data`
`mkdir /minio/config

拉取镜像

docker pull minio/minio

启动镜像

docker run -p 9000:9000 -p 9000:9001 --name minio \
-e "MINIO_ROOT_USER=dapeng" \
-e "MINIO_ROOT_PASSWORD=kbC***!@#apoka" \
-v /mydata/minio/data:/data \
-v /mydata/minio/config:/root/.minio \
-d minio/minio server /data --console-address ":9001"

查看启动日志:

docker logs minio

2.3、打开控制台

minio提供了一个可视化的管理控制平台,安装好之后,在浏览器中输入(http://localhost:9000/ )就可以访问了,默认的用户名和密码都是minioadmin
image

3、minio简单使用

3.1、创建桶

image

3.2、上传图片

image

3.3、访问策略

image

3.4、访问文件

http://192.168.120.22:9000/bucket-test/1.jpg

因为直接上传的content-typeapplication/octet-stream,会导致访问的时候直接下载。

3、在框架中使用

3.1、配置文件

在文件服务的配置文件上。

# Minio配置
minio:
  url: http://127.0.0.1:9090
  # 账号
  accessKey: minioadmin
  # 密码
  secretKey: minioadmin
  # MinIO桶名字
  bucketName: bucket-test

3.2、添加配置


/**
 * Minio 配置信息
 *
 */
@Configuration
@ConfigurationProperties(prefix = "minio")
@Data
public class MinioConfig
{
    /**
     * 服务地址
     */
    private String url;

    /**
     * 用户名
     */
    private String accessKey;

    /**
     * 密码
     */
    private String secretKey;

    /**
     * 存储桶名称
     */
    private String bucketName;

    @Bean
    public MinioClient getMinioClient()
    {
        return MinioClient.builder().endpoint(url).credentials(accessKey, secretKey).build();
    }
}

3.3、添加接口

    /**
     * minio文件上传例子
     */
    @PostMapping("/minioDemo")
    public AjaxResult minioDemo(MultipartFile file) throws IOException, ServerException, InsufficientDataException, InternalException, InvalidResponseException, InvalidKeyException, NoSuchAlgorithmException, XmlParserException, ErrorResponseException {
        String fileName = FileUploadUtils.extractFilename(file);
        PutObjectArgs args = PutObjectArgs.builder()
                .bucket(minioConfig.getBucketName())
                .object(fileName)
                .stream(file.getInputStream(), file.getSize(), -1)
                .contentType(file.getContentType())
                .build();
        client.putObject(args);
        Object path = minioConfig.getUrl() + "/" + minioConfig.getBucketName() + "/" + fileName;
        return AjaxResult.success(path);
    }

测试查看结果:

image

标签:存储,String,spring,minio,boot,private,file,9000,minIo
来源: https://www.cnblogs.com/galenblog/p/16277521.html