引入依赖

Hntool对所有第三方都是可选依赖,因此在使用 Minio 存储时需要自行引入第三方依赖。

  1. <!--MinIO上传-->
  2. <dependency>
  3. <groupId>io.minio</groupId>
  4. <artifactId>minio</artifactId>
  5. <version>7.0.1</version>
  6. </dependency>

Minio 文档地址

官方文档

java sdk

参数

在配置表中,配置以下参数:

名称 配置名 配置值
【Minio存储】endpoint upload.minio.endpoint xxxxx
【Minio存储】accessKey upload.minio.accessKey xxxxx
【Minio存储】secretKey upload.minio.secretKey xxxxx
【Minio存储】bucket upload.minio.bucket xxxxx
【Minio存储】fileUrl upload.minio.fileUrl https://xxxx

调用工具类插入参数

  1. MinioUpload.Param param = MinioUpload.createParam();
  2. param.setBucket("xxxx");
  3. param.setAccessKey("xxxxx");
  4. param.setSecretKey("xxxx");
  5. param.setEndpoint("http://8.xxx.xx.240:9000");
  6. param.setFileUrl("http://8.xxx.xx.240:9000/xxxx");
  7. genUtils.uploadMinio(param);

使用

  1. File file = FileUtil.file("C:\\Users\\Administrator\\Pictures\\4.jpg");
  2. String targetPath="123456.jpg";
  3. FileUploadUtil.uploadFile(UploadPlatform.Minio,file,targetPath);
  4. // 过期时间
  5. int expireTime = 30;
  6. // 获取临时路径
  7. FileUploadUtil.getTempDownUrl(UploadPlatform.Minio,targetPath,expireTime);

前端上传

上传流程图

minio-3.png

  • 向服务端请求临时上传URL
  1. String tempUploadUrl = FileUploadUtil.getToken(UploadPlatform.Minio, "demo.png");
  • 通过临时URL,上传文件

minio-4.png

注意:上传请求方式为 PUT , 不是 POST 请求。

Minio 安装

minio 直接下载

  • 安装

    1. wget https://dl.minio.io/server/minio/release/linux-amd64/minio
  • 授予权限

    1. chmod +x minio
  • 后台启动

    1. nohup ./minio server /data &

    minio-1.png

  • 修改密码

    1. export MINIO_ROOT_USER=Minio
    2. export MINIO_ROOT_PASSWORD=sZISMcVldRgVj8wB
  • 浏览器访问

minio-2.png

参考

通过浏览器直接上传图片到 minio 服务器

Minio 安装)

著名 Go 开源项目 Minio 为什么没有 POST 接口)