22.JavaWeb-Minio存储服务器

        MinIO是一个开源的对象存储服务器,它兼容Amazon S3 API。它提供了一个简单而强大的存储解决方案,可以用于存储和检索任意大小的文件对象,如图片、视频、文档等。

1.安装与配置Minio

https://dl.min.io/server/minio/release/windows-amd64/https://dl.min.io/server/minio/release/windows-amd64/        cmd的方式打开minio.exe所在的文件夹

1.1 设置管理员账号和密码

        set MINIO_ACCESS_KEY=minioadmin //创建账号

        set MINIO_SECRET_KEY=minioadmin //创建密码

22.JavaWeb-Minio存储服务器_第1张图片

1.2 执行以下指令启动minio

minio.exe server D:\install\WONIU-J-Install\minio --console-address “:9001” --address “:9000”

1.3 浏览器上访问9001端口

        localhost:9090

        登陆后可以创建buket

22.JavaWeb-Minio存储服务器_第2张图片

1.4 设置访问规则

22.JavaWeb-Minio存储服务器_第3张图片

        进入管理页面之后,找到“Access Rules”选项并点击,添加访问规则,因为默认情况下桶里面的数据是不能访问的

        点击“Add Access Rule”按钮添加访问规则

22.JavaWeb-Minio存储服务器_第4张图片

1.5 输入访问前缀、选择该前缀对应的访问权限

22.JavaWeb-Minio存储服务器_第5张图片

        现在上传的文件就可以分享给别人了,但是分享连接有有效期

1.6 设置永久访问连接

1.6.1 下载mc客户端

https://dl.min.io/client/mc/release/windows-amd64/https://dl.min.io/client/mc/release/windows-amd64/ 将下载好的mc.exe放到与minio相同位置

1.6.2 设置永久访问连接

mc.exe config host add minio http://192.168.2.163:9000 minioadmin minioadmin --api S3v4

        然后执行 mc anonymous set download minio/桶名,在将文件设置为公共读就可以通过 http://服务器ip:端口/桶名称/文件名称 直接访问到了

22.JavaWeb-Minio存储服务器_第6张图片

2.  在Spring Boot项目中使用minio

2.1 导入依赖


    io.minio
    minio
    8.0.0


    org.springframework.boot
    spring-boot-configuration-processor
    true

2.2 设置yml配置

spring:
  # 配置文件上传大小限制
  servlet:
    multipart:
      max-file-size: 200MB
      max-request-size: 200MB
minio:
  endpoint: http://192.168.2.163:9000
  accesskey: minioadmin
  secretKey: minioadmin
  bucketName: mall

2.3 创建minio配置类

import io.minio.MinioClient;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Component;

@Data
@Component
@ConfigurationProperties(prefix = "minio")
public class MinioConfiguration {
    //
    private String endpoint;    //连接url
    private String accesskey;   //用户名
    private String secretKey;   //密码

    @Bean
    public MinioClient minioClient(){
        return MinioClient.builder().endpoint(endpoint).credentials(accesskey,secretKey).build();
    }
}

2.4 创建工具类

2.5 上传文件

import com.woniuxy.minio.util.MinioUtil;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

import javax.annotation.Resource;

@RestController
@RequestMapping("/file")
public class FileController {

    @Resource
    private MinioUtil minioUtil;

    @PostMapping("/upload")
    public Object upload(MultipartFile file){

        return minioUtil.upload(new MultipartFile[]{file});
    }
}

你可能感兴趣的:(JavaEE,服务器,运维)