step1、首先需要处理minio上传文件

<dependency>
    <groupId>io.minio</groupId>
    <artifactId>minio</artifactId>
    <version>8.4.4</version>
</dependency>

基于minio 8.4.4上传文件与原先的7.0版本差距还是有点大的,大版本之间的代码不兼容


    /**
     * minio的上传地址
     */
    @Value("${minio.endpoint}")
    private String endpoint;

    /**
     * 账号
     */
    @Value("${minio.access.key}")
    private String accessKey;

    /**
     * 账号密码
     */
    @Value("${minio.secret.key}")
    private String secretKey;

    /**
     * 存储桶名称
     */
    @Value("${minio.bucket.name}")
    private String bucket;

    /**
     * 上传文件
     * @param inputStream 文件流
     * @param fileName 文件名称
     * @param size 文件大小 long
     * @return 上传文件的minio地址 url
     */
    @SneakyThrows
    @SuppressWarnings("all")
    public String upLoadFile(InputStream inputStream, String fileName, Long size) {

        // 判断传入参数是否空值
        if (!StringUtils.hasLength(bucket)) {
            return "bucketName not allowed null";
        }

        // 创建客户端对象
        MinioClient minioClient =
                MinioClient.builder()
                        .endpoint(endpoint)
                        .credentials(accessKey, secretKey)
                        .build();

        // 拼接图片地址
        String url = MessageFormat.format("{0}{1}/{2}", endpoint, bucket, fileName);
        log.info("url:{}", url);

        minioClient.putObject(
                PutObjectArgs.builder().bucket(bucket).object(fileName).stream(
                                inputStream, size, -1)
                        .build());

        return url;
    }

step2、处理网络在线图片地址

/**
 * 上传线上图片
 * @param imgUrl 在线图片url
 * @return 上传文件的minio地址 url
 */
@SneakyThrows
@SuppressWarnings("all")
public String getInputStream(String imgUrl) {
    URL url = new URL(imgUrl);
    HttpURLConnection conn = (HttpURLConnection) url.openConnection();
    conn.setRequestMethod("GET");
    conn.setConnectTimeout(5 * 1000);
    // 获取图片的大小
    int size = conn.getContentLength();
    // 通过输入流获取图片数据
    InputStream inStream = conn.getInputStream();
    return upLoadFile(inStream, MinIoUpLoad.getSuffix(imgUrl), Long.parseLong(String.valueOf(size)));
}