Minio使用说明

Minio使用说明
强烈推介IDEA2020.2破解激活,IntelliJ IDEA 注册码,2020.2 IDEA 激活码

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=minio
export MINIO_SECRET_KEY=miniostorage

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. bigdata-common-minio使用

确认项目已经引入jar包

 

        <dependency>
            <groupId>com.bosssoft.bigdata</groupId>
            <artifactId>bigdata-common-minio</artifactId>
        </dependency>

配置文件中已经配置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

 

    private final MinioTemplate template;
    template.createBucket(bucketName);

4.2 图片上传

参考com.bosssoft.bigdata.common.minio.http.MinioEndpoint#
createObject(org.springframework.web.multipart.MultipartFile, java.lang.String, java.lang.String)

 

@PostMapping("/object/{bucketName}/{objectName}")
public MinioObject createObject(@RequestBody MultipartFile object, @PathVariable String bucketName, @PathVariable String objectName) {
    template.putObject(bucketName, objectName, object.getInputStream(), object.getSize(), object.getContentType());
    return new MinioObject(template.getObjectInfo(bucketName, objectName));
}

如果想保存url,参考

 

template.getObjectURL(bucketName, objectName, expires)

PS:也可以只保存MinioObject的name,以及相应的文件库(bucket)

4.3 图片显示

如果保存了url,直接显示即可;如果保存了MinioObject的name,以及相应的文件库(bucket)
,显示图片参考
com.bosssoft.bigdata.common.minio.http.MinioEndpoint#getObject

 

@GetMapping("/object/{bucketName}/{objectName}/{expires}")
public Map<String, Object> getObject(@PathVariable String bucketName, @PathVariable String objectName, @PathVariable Integer expires) {
    Map<String, Object> responseBody = new HashMap<>(8);
    // Put Object info
    responseBody.put("bucket", bucketName);
    responseBody.put("object", objectName);
    responseBody.put("url", template.getObjectURL(bucketName, objectName, expires));
    responseBody.put("expires", expires);
    return responseBody;
}

 

本文来源huayang183,由架构君转载发布,观点不代表Java架构师必看的立场,转载请标明来源出处:https://javajgs.com/archives/18425

发表评论