package com.maibu.utils; import io.minio.*; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.io.InputStream; @Service public class MinioUtil { @Resource private MinioClient minioClient; private String defaultBucket = "mbzn"; private String endpoint = "https://oss.satabot.com"; // http://ip:port // 上传文件 public void uploadFile(String objectName, InputStream stream, String contentType) throws Exception { // 检查桶是否存在 boolean found = minioClient.bucketExists(BucketExistsArgs.builder().bucket(defaultBucket).build()); if (!found) { minioClient.makeBucket(MakeBucketArgs.builder().bucket(defaultBucket).build()); } minioClient.putObject( PutObjectArgs.builder() .bucket(defaultBucket) .object(objectName) .stream(stream, -1, 10485760) .contentType(contentType) .build() ); } // 返回 public URL public String getPublicUrl(String objectName) { // 拼接 public URL return endpoint + "/" + defaultBucket + "/" + objectName; } public void deleteFile(String objectName) throws Exception { minioClient.removeObject( RemoveObjectArgs.builder() .bucket(defaultBucket) .object(objectName) .build() ); } }