Minio使用说明与java集成

1. Linux运行minio

linux安装包下载点
https://dl.minio.io/server/minio/release/linux-amd64/minio

如果linux系统能联网,可直接通过wget命令下载

wget https://dl.minio.io/server/minio/release/linux-amd64/minio

进入minio文件所在位置,然后执行命令:

chmod +x minio
./minio server /mnt/data

minio服务启动成功。

后台运行

nohup /usr/local/bin/minio server  /home/minio/data > /home/minio/data/minio.log 2>&1 &

自定义MINIO_ACCESS_KEY和MINIO_SECRET_KEY

export MINIO_ACCESS_KEY=root
export MINIO_SECRET_KEY=root_1234

2. windows运行minio

首先下载安装包,windows下载点
https://dl.minio.io/server/minio/release/windows-amd64/minio.exe

下载结束后,cmd命令行进入minio.exe所在文件夹,然后执行

minio.exe server F:\Data

minio服务启动成功,其中F:\Data可设置成读者本地磁盘任何位置。

3. minio使用

minio服务启动后,默认端口是9000,在命令界面会显示如下信息:

  access-key: WHF2WW7QP2DWNQV7MQ63
  secret-key: pM3u0Yp+avPuPqPnwu7v+4k4EmlJqQp3dDuNThtg

这些信息需要记住,在登录和项目配置时需要。

如此minio启动成功,然后访问http://127.0.0.1:9000,在登录页输入access-key和secret-key,可直接用浏览器操作minio服务器中的文件库与文件。

4. 依赖jar包引用

确认项目已经引入jar包io.minio

    
            io.minio
            minio
            6.0.4
    

配置文件中已经配置minio服务信息,如下:

minio:
  url: http://127.0.0.1:9000
  access-key: WHF2WW7QP2DWNQV7MQ63
  secret-key: pM3u0Yp+avPuPqPnwu7v+4k4EmlJqQp3dDuNThtg

4.1 创建文件库(bucket)

a)可用浏览器登录http://127.0.0.1:9000,直接创建bucket
b)调用api(参考如下代码)

import io.minio.MinioClient

@Autowired
private MinioClient client;

public void createBucket(String bucketName) {
        if (!client.bucketExists(bucketName)) {
            client.makeBucket(bucketName);
        }
    }

4.2 文件上传、预览、下载、删除,参考如下代码

    public void putObject(String bucketName, String objectName, InputStream stream, long size, String contextType) throws Exception {
        if (StringUtils.isBlank(bucketName)) {
            throw new RuntimeException("保存的bucketName为空");
        }
        createBucket(bucketName);
        client.putObject(bucketName, objectName, stream, size, contextType);
    }

    public InputStream getObject(String bucketName, String objectName) {
        return client.getObject(bucketName, objectName);
    }

    public String getObjectURL(String bucketName, String objectName, Integer expires) {
        return client.presignedGetObject(bucketName, objectName, expires);
    }
    public void removeObject(String bucketName, String objectName) throws Exception {
        client.removeObject(bucketName, objectName);
    }

其他操作参考io.minio的api:
http://docs.minio.org.cn/docs/master/java-client-quickstart-guide

你可能感兴趣的:(Minio使用说明与java集成)