minIO

minIO文档

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
// 上传图片 返回图片url
@RequestMapping(value = "/uploadFile",consumes = "multipart/form-data")
public ApiResult uploadFile(MultipartFile[] files) {
List<String> imgUrlList = new ArrayList<>();
try {
MinioClient minioClient = new MinioClient(minoUrl, accessKey, secretKey);
// 检查存储桶是否已经存在
boolean isExist = minioClient.bucketExists(bucketName);
if (isExist) {
log.error("Bucket already exists.");
} else {
// 创建一个名为asiatrip的存储桶,用于存储照片的zip文件。
minioClient.makeBucket(bucketName);
}
for (MultipartFile file : files) {
// 图片名称
String fileName = file.getOriginalFilename();
// 压缩图片
BufferedImage image = Thumbnails.of(file.getInputStream()).scale(0.8f).outputQuality(1.0f).asBufferedImage();
InputStream inputStream = ImageUtil.bufferedImageToInputStream(image);
// 使用putObject上传一个文件到存储桶中。
assert inputStream != null;
minioClient.putObject(bucketName, fileName, inputStream, inputStream.available(), "application/octet-stream");
String url = minioClient.getObjectUrl(bucketName, fileName);
log.info("图片url==========>" + url);
imgUrlList.add(url);
}
} catch (Exception e) {
throw new ApiException(ApiResult.errorWith(ResultCodeEnum.IMG_FAIL,e.getMessage()));
}
return ApiResult.resultWith(ResultCodeEnum.SUCCESS, imgUrlList);
}

注意

需要添加如下设置,否则图片不可见

赏个🍗吧
0%