57 lines
1.5 KiB
Java
57 lines
1.5 KiB
Java
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()
|
|
);
|
|
}
|
|
}
|
|
|
|
|
|
|