fix(storage): 修复MinIO文件上传和配置问题

- 修复文件上传时缺少后缀名的问题,添加对无后缀文件的处理逻辑
- 更新开发和生产环境的OSS配置,修改endpoint、accessKey和secretKey
- 将文件大小限制从100调整为10
- 优化代码格式,修复方法参数换行和构建器链式调用的格式问题
- 统一多个版本中的MinIO仓库代码变更
This commit is contained in:
2026-02-27 16:54:16 +08:00
parent f9a8c58b68
commit 69b7c5d947
9 changed files with 101 additions and 77 deletions
@@ -45,11 +45,13 @@ import io.minio.messages.Bucket;
import io.minio.messages.Item; import io.minio.messages.Item;
import jakarta.servlet.ServletOutputStream; import jakarta.servlet.ServletOutputStream;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import java.io.File; import java.io.File;
import java.io.InputStream; import java.io.InputStream;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@@ -145,15 +147,25 @@ public class MinioRepository {
* @param md5 文件md5 * @param md5 文件md5
* @return String 上传后的文件名,上传失败返回 null * @return String 上传后的文件名,上传失败返回 null
*/ */
public SystemOssStorageTb upload(File tempFile, String originalFilename, long fileSize, String contentType, public SystemOssStorageTb upload(
String md5) { File tempFile, String originalFilename, long fileSize, String contentType,
String md5
) {
StorageOSSModel ossConfig = properties.getOss(); StorageOSSModel ossConfig = properties.getOss();
OSSConfigModel ossMinioConfig = ossConfig.getMinio(); OSSConfigModel ossMinioConfig = ossConfig.getMinio();
String type = FileTypeUtil.getType(tempFile); String type = FileTypeUtil.getType(tempFile);
String prefix = KitFileUtil.getPrefix(tempFile); String prefix = KitFileUtil.getPrefix(tempFile);
String suffix = KitFileUtil.getSuffix(tempFile); String suffix = KitFileUtil.getSuffix(tempFile);
String fileCode = IdUtil.fastSimpleUUID(); String fileCode = IdUtil.fastSimpleUUID();
String fileName = fileCode + FileUtil.getSuffix(originalFilename);
String fileName;
String realSuffix = FileUtil.getSuffix(originalFilename);
if (StrUtil.isBlank(realSuffix)) {
fileName = fileCode;
} else {
fileName = fileCode + "." + realSuffix;
}
String objectName = KitDateUtil.getNowDateStr() + "/" + fileName; String objectName = KitDateUtil.getNowDateStr() + "/" + fileName;
log.info("上传文件,原文件名:{},上传后文件名:{}", originalFilename, fileName); log.info("上传文件,原文件名:{},上传后文件名:{}", originalFilename, fileName);
String fileUrl = ossMinioConfig.getEndpoint() + "/" + ossMinioConfig.getBucketName() + "/" + objectName; String fileUrl = ossMinioConfig.getEndpoint() + "/" + ossMinioConfig.getBucketName() + "/" + objectName;
@@ -279,8 +291,10 @@ public class MinioRepository {
public void download(String fileName, HttpServletResponse res) { public void download(String fileName, HttpServletResponse res) {
GetObjectArgs objectArgs = GetObjectArgs objectArgs =
GetObjectArgs.builder().bucket(properties.getOss().getMinio().getBucketName()).object(fileName).build(); GetObjectArgs.builder().bucket(properties.getOss().getMinio().getBucketName()).object(fileName).build();
try (GetObjectResponse response = minioClient.getObject(objectArgs); try (
FastByteArrayOutputStream os = new FastByteArrayOutputStream()) { GetObjectResponse response = minioClient.getObject(objectArgs);
FastByteArrayOutputStream os = new FastByteArrayOutputStream()
) {
byte[] buf = new byte[1024]; byte[] buf = new byte[1024];
int len; int len;
while ((len = response.read(buf)) != -1) { while ((len = response.read(buf)) != -1) {
@@ -187,12 +187,12 @@ app:
queue-capacity: 50 queue-capacity: 50
# oss # oss
oss: oss:
max-size: 100 max-size: 10
minio: minio:
endpoint: http://127.0.0.1:9000 endpoint: https://oss.odboy.cn
bucketName: cutejava bucketName: cutejava
accessKey: 8o5oVzqvKby5TzaGcfmx accessKey: 74rgxZtiYtOzsY9U8W9F
secretKey: 8BiK5UbmvXGJNVQ98CGiohHzT1N1FMRZqHRdJllj secretKey: 7d1BiBlfFQDBHKfwAWjF18TLUMjbd9VbSgnncsTw
captcha: captcha:
expireTime: 300 expireTime: 300
# 序列化白名单 # 序列化白名单
@@ -198,12 +198,12 @@ app:
queue-capacity: 50 queue-capacity: 50
# oss # oss
oss: oss:
max-size: 100 max-size: 10
minio: minio:
endpoint: http://127.0.0.1:9000 endpoint: https://oss.odboy.cn
bucketName: cutejava bucketName: cutejava
accessKey: 8o5oVzqvKby5TzaGcfmx accessKey: 74rgxZtiYtOzsY9U8W9F
secretKey: 8BiK5UbmvXGJNVQ98CGiohHzT1N1FMRZqHRdJllj secretKey: 7d1BiBlfFQDBHKfwAWjF18TLUMjbd9VbSgnncsTw
captcha: captcha:
expireTime: 300 expireTime: 300
# 序列化白名单 # 序列化白名单
@@ -45,11 +45,13 @@ import io.minio.messages.Bucket;
import io.minio.messages.Item; import io.minio.messages.Item;
import jakarta.servlet.ServletOutputStream; import jakarta.servlet.ServletOutputStream;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import java.io.File; import java.io.File;
import java.io.InputStream; import java.io.InputStream;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@@ -145,15 +147,24 @@ public class MinioRepository {
* @param md5 文件md5 * @param md5 文件md5
* @return String 上传后的文件名,上传失败返回 null * @return String 上传后的文件名,上传失败返回 null
*/ */
public SystemOssStorageTb upload(File tempFile, String originalFilename, long fileSize, String contentType, public SystemOssStorageTb upload(
String md5) { File tempFile, String originalFilename, long fileSize, String contentType, String md5
) {
StorageOSSModel ossConfig = properties.getOss(); StorageOSSModel ossConfig = properties.getOss();
OSSConfigModel ossMinioConfig = ossConfig.getMinio(); OSSConfigModel ossMinioConfig = ossConfig.getMinio();
String type = FileTypeUtil.getType(tempFile); String type = FileTypeUtil.getType(tempFile);
String prefix = KitFileUtil.getPrefix(tempFile); String prefix = KitFileUtil.getPrefix(tempFile);
String suffix = KitFileUtil.getSuffix(tempFile); String suffix = KitFileUtil.getSuffix(tempFile);
String fileCode = IdUtil.fastSimpleUUID(); String fileCode = IdUtil.fastSimpleUUID();
String fileName = fileCode + FileUtil.getSuffix(originalFilename);
String fileName;
String realSuffix = FileUtil.getSuffix(originalFilename);
if (StrUtil.isBlank(realSuffix)) {
fileName = fileCode;
} else {
fileName = fileCode + "." + realSuffix;
}
String objectName = KitDateUtil.getNowDateStr() + "/" + fileName; String objectName = KitDateUtil.getNowDateStr() + "/" + fileName;
log.info("上传文件,原文件名:{},上传后文件名:{}", originalFilename, fileName); log.info("上传文件,原文件名:{},上传后文件名:{}", originalFilename, fileName);
String fileUrl = ossMinioConfig.getEndpoint() + "/" + ossMinioConfig.getBucketName() + "/" + objectName; String fileUrl = ossMinioConfig.getEndpoint() + "/" + ossMinioConfig.getBucketName() + "/" + objectName;
@@ -171,8 +182,8 @@ public class MinioRepository {
systemOssStorageTb.setFileCode(fileCode); systemOssStorageTb.setFileCode(fileCode);
systemOssStorageTb.setObjectName(objectName); systemOssStorageTb.setObjectName(objectName);
try (InputStream fileInputStream = KitFileUtil.getInputStream(tempFile)) { try (InputStream fileInputStream = KitFileUtil.getInputStream(tempFile)) {
PutObjectArgs objectArgs = PutObjectArgs.builder().bucket(ossMinioConfig.getBucketName()).object(objectName) PutObjectArgs objectArgs = PutObjectArgs.builder().bucket(ossMinioConfig.getBucketName()).object(objectName).stream(fileInputStream, fileSize, -1)
.stream(fileInputStream, fileSize, -1).contentType(contentType).build(); .contentType(contentType).build();
minioClient.putObject(objectArgs); minioClient.putObject(objectArgs);
log.info("文件上传成功,并删除临时文件,文件名:{}", originalFilename); log.info("文件上传成功,并删除临时文件,文件名:{}", originalFilename);
return systemOssStorageTb; return systemOssStorageTb;
@@ -206,9 +217,8 @@ public class MinioRepository {
String objectName = KitDateUtil.getNowDateTimeStr() + "/" + fileName; String objectName = KitDateUtil.getNowDateTimeStr() + "/" + fileName;
log.info("准备上传文件,原文件名:{},上传后文件名:{}", originalFilename, fileName); log.info("准备上传文件,原文件名:{},上传后文件名:{}", originalFilename, fileName);
try (InputStream fileInputStream = file.getInputStream()) { try (InputStream fileInputStream = file.getInputStream()) {
PutObjectArgs objectArgs = PutObjectArgs objectArgs = PutObjectArgs.builder().bucket(properties.getOss().getMinio().getBucketName()).object(objectName)
PutObjectArgs.builder().bucket(properties.getOss().getMinio().getBucketName()).object(objectName) .stream(fileInputStream, file.getSize(), -1).contentType(file.getContentType()).build();
.stream(fileInputStream, file.getSize(), -1).contentType(file.getContentType()).build();
// 使用重试机制进行上传 // 使用重试机制进行上传
uploadWithRetry(objectArgs, 3); uploadWithRetry(objectArgs, 3);
log.info("文件上传成功,objectName: {}", objectName); log.info("文件上传成功,objectName: {}", objectName);
@@ -256,11 +266,10 @@ public class MinioRepository {
return null; return null;
} }
try { try {
GetPresignedObjectUrlArgs presignedUrlArgs = GetPresignedObjectUrlArgs presignedUrlArgs = GetPresignedObjectUrlArgs.builder().bucket(properties.getOss().getMinio().getBucketName())
GetPresignedObjectUrlArgs.builder().bucket(properties.getOss().getMinio().getBucketName()) .object(fullFileName).method(Method.GET)
.object(fullFileName).method(Method.GET) // 设置 URL 过期时间为 7 天, 最大 7 天, 别挣扎了
// 设置 URL 过期时间为 7 天, 最大 7 天, 别挣扎了 .expiry(3600 * 24 * 7).build();
.expiry(3600 * 24 * 7).build();
String url = minioClient.getPresignedObjectUrl(presignedUrlArgs); String url = minioClient.getPresignedObjectUrl(presignedUrlArgs);
log.info("生成预签名 URL 成功,fileName: {}, url: {}", fullFileName, url); log.info("生成预签名 URL 成功,fileName: {}, url: {}", fullFileName, url);
return url; return url;
@@ -277,10 +286,10 @@ public class MinioRepository {
* @param res HTTP 响应 * @param res HTTP 响应
*/ */
public void download(String fileName, HttpServletResponse res) { public void download(String fileName, HttpServletResponse res) {
GetObjectArgs objectArgs = GetObjectArgs objectArgs = GetObjectArgs.builder().bucket(properties.getOss().getMinio().getBucketName()).object(fileName).build();
GetObjectArgs.builder().bucket(properties.getOss().getMinio().getBucketName()).object(fileName).build(); try (
try (GetObjectResponse response = minioClient.getObject(objectArgs); GetObjectResponse response = minioClient.getObject(objectArgs); FastByteArrayOutputStream os = new FastByteArrayOutputStream()
FastByteArrayOutputStream os = new FastByteArrayOutputStream()) { ) {
byte[] buf = new byte[1024]; byte[] buf = new byte[1024];
int len; int len;
while ((len = response.read(buf)) != -1) { while ((len = response.read(buf)) != -1) {
@@ -306,8 +315,7 @@ public class MinioRepository {
* @param res HTTP 响应 * @param res HTTP 响应
*/ */
public void downloadOptimizedVersion(String fileName, HttpServletResponse res) { public void downloadOptimizedVersion(String fileName, HttpServletResponse res) {
GetObjectArgs objectArgs = GetObjectArgs objectArgs = GetObjectArgs.builder().bucket(properties.getOss().getMinio().getBucketName()).object(fileName).build();
GetObjectArgs.builder().bucket(properties.getOss().getMinio().getBucketName()).object(fileName).build();
try (GetObjectResponse response = minioClient.getObject(objectArgs)) { try (GetObjectResponse response = minioClient.getObject(objectArgs)) {
// 增大缓冲区 // 增大缓冲区
byte[] buf = new byte[1024 * 4]; byte[] buf = new byte[1024 * 4];
@@ -338,8 +346,7 @@ public class MinioRepository {
*/ */
public List<Item> queryAllObjects() { public List<Item> queryAllObjects() {
try { try {
Iterable<Result<Item>> results = minioClient.listObjects( Iterable<Result<Item>> results = minioClient.listObjects(ListObjectsArgs.builder().bucket(properties.getOss().getMinio().getBucketName()).build());
ListObjectsArgs.builder().bucket(properties.getOss().getMinio().getBucketName()).build());
List<Item> items = new ArrayList<>(); List<Item> items = new ArrayList<>();
for (Result<Item> result : results) { for (Result<Item> result : results) {
items.add(result.get()); items.add(result.get());
@@ -359,9 +366,7 @@ public class MinioRepository {
*/ */
public boolean removeBucketFile(String fileName) { public boolean removeBucketFile(String fileName) {
try { try {
minioClient.removeObject( minioClient.removeObject(RemoveObjectArgs.builder().bucket(properties.getOss().getMinio().getBucketName()).object(fileName).build());
RemoveObjectArgs.builder().bucket(properties.getOss().getMinio().getBucketName()).object(fileName)
.build());
log.info("删除文件成功,fileName: {}", fileName); log.info("删除文件成功,fileName: {}", fileName);
return true; return true;
} catch (Exception e) { } catch (Exception e) {
@@ -125,12 +125,12 @@ app:
queue-capacity: 50 queue-capacity: 50
# oss # oss
oss: oss:
max-size: 100 max-size: 10
minio: minio:
endpoint: http://127.0.0.1:9000 endpoint: https://oss.odboy.cn
bucketName: cutejava bucketName: cutejava
accessKey: 8o5oVzqvKby5TzaGcfmx accessKey: 74rgxZtiYtOzsY9U8W9F
secretKey: 8BiK5UbmvXGJNVQ98CGiohHzT1N1FMRZqHRdJllj secretKey: 7d1BiBlfFQDBHKfwAWjF18TLUMjbd9VbSgnncsTw
captcha: captcha:
expireTime: 300 expireTime: 300
# 序列化白名单 # 序列化白名单
@@ -136,12 +136,12 @@ app:
queue-capacity: 50 queue-capacity: 50
# oss # oss
oss: oss:
max-size: 100 max-size: 10
minio: minio:
endpoint: http://127.0.0.1:9000 endpoint: https://oss.odboy.cn
bucketName: cutejava bucketName: cutejava
accessKey: 8o5oVzqvKby5TzaGcfmx accessKey: 74rgxZtiYtOzsY9U8W9F
secretKey: 8BiK5UbmvXGJNVQ98CGiohHzT1N1FMRZqHRdJllj secretKey: 7d1BiBlfFQDBHKfwAWjF18TLUMjbd9VbSgnncsTw
captcha: captcha:
expireTime: 300 expireTime: 300
# 序列化白名单 # 序列化白名单
@@ -43,6 +43,7 @@ import io.minio.Result;
import io.minio.http.Method; import io.minio.http.Method;
import io.minio.messages.Bucket; import io.minio.messages.Bucket;
import io.minio.messages.Item; import io.minio.messages.Item;
import java.io.File; import java.io.File;
import java.io.InputStream; import java.io.InputStream;
import java.util.ArrayList; import java.util.ArrayList;
@@ -50,6 +51,7 @@ import java.util.Collections;
import java.util.List; import java.util.List;
import javax.servlet.ServletOutputStream; import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@@ -145,15 +147,24 @@ public class MinioRepository {
* @param md5 文件md5 * @param md5 文件md5
* @return String 上传后的文件名,上传失败返回 null * @return String 上传后的文件名,上传失败返回 null
*/ */
public SystemOssStorageTb upload(File tempFile, String originalFilename, long fileSize, String contentType, public SystemOssStorageTb upload(
String md5) { File tempFile, String originalFilename, long fileSize, String contentType, String md5
) {
StorageOSSModel ossConfig = properties.getOss(); StorageOSSModel ossConfig = properties.getOss();
OSSConfigModel ossMinioConfig = ossConfig.getMinio(); OSSConfigModel ossMinioConfig = ossConfig.getMinio();
String type = FileTypeUtil.getType(tempFile); String type = FileTypeUtil.getType(tempFile);
String prefix = KitFileUtil.getPrefix(tempFile); String prefix = KitFileUtil.getPrefix(tempFile);
String suffix = KitFileUtil.getSuffix(tempFile); String suffix = KitFileUtil.getSuffix(tempFile);
String fileCode = IdUtil.fastSimpleUUID(); String fileCode = IdUtil.fastSimpleUUID();
String fileName = fileCode + FileUtil.getSuffix(originalFilename);
String fileName;
String realSuffix = FileUtil.getSuffix(originalFilename);
if (StrUtil.isBlank(realSuffix)) {
fileName = fileCode;
} else {
fileName = fileCode + "." + realSuffix;
}
String objectName = KitDateUtil.getNowDateStr() + "/" + fileName; String objectName = KitDateUtil.getNowDateStr() + "/" + fileName;
log.info("上传文件,原文件名:{},上传后文件名:{}", originalFilename, fileName); log.info("上传文件,原文件名:{},上传后文件名:{}", originalFilename, fileName);
String fileUrl = ossMinioConfig.getEndpoint() + "/" + ossMinioConfig.getBucketName() + "/" + objectName; String fileUrl = ossMinioConfig.getEndpoint() + "/" + ossMinioConfig.getBucketName() + "/" + objectName;
@@ -171,8 +182,8 @@ public class MinioRepository {
systemOssStorageTb.setFileCode(fileCode); systemOssStorageTb.setFileCode(fileCode);
systemOssStorageTb.setObjectName(objectName); systemOssStorageTb.setObjectName(objectName);
try (InputStream fileInputStream = KitFileUtil.getInputStream(tempFile)) { try (InputStream fileInputStream = KitFileUtil.getInputStream(tempFile)) {
PutObjectArgs objectArgs = PutObjectArgs.builder().bucket(ossMinioConfig.getBucketName()).object(objectName) PutObjectArgs objectArgs = PutObjectArgs.builder().bucket(ossMinioConfig.getBucketName()).object(objectName).stream(fileInputStream, fileSize, -1)
.stream(fileInputStream, fileSize, -1).contentType(contentType).build(); .contentType(contentType).build();
minioClient.putObject(objectArgs); minioClient.putObject(objectArgs);
log.info("文件上传成功,并删除临时文件,文件名:{}", originalFilename); log.info("文件上传成功,并删除临时文件,文件名:{}", originalFilename);
return systemOssStorageTb; return systemOssStorageTb;
@@ -206,9 +217,8 @@ public class MinioRepository {
String objectName = KitDateUtil.getNowDateTimeStr() + "/" + fileName; String objectName = KitDateUtil.getNowDateTimeStr() + "/" + fileName;
log.info("准备上传文件,原文件名:{},上传后文件名:{}", originalFilename, fileName); log.info("准备上传文件,原文件名:{},上传后文件名:{}", originalFilename, fileName);
try (InputStream fileInputStream = file.getInputStream()) { try (InputStream fileInputStream = file.getInputStream()) {
PutObjectArgs objectArgs = PutObjectArgs objectArgs = PutObjectArgs.builder().bucket(properties.getOss().getMinio().getBucketName()).object(objectName)
PutObjectArgs.builder().bucket(properties.getOss().getMinio().getBucketName()).object(objectName) .stream(fileInputStream, file.getSize(), -1).contentType(file.getContentType()).build();
.stream(fileInputStream, file.getSize(), -1).contentType(file.getContentType()).build();
// 使用重试机制进行上传 // 使用重试机制进行上传
uploadWithRetry(objectArgs, 3); uploadWithRetry(objectArgs, 3);
log.info("文件上传成功,objectName: {}", objectName); log.info("文件上传成功,objectName: {}", objectName);
@@ -256,11 +266,10 @@ public class MinioRepository {
return null; return null;
} }
try { try {
GetPresignedObjectUrlArgs presignedUrlArgs = GetPresignedObjectUrlArgs presignedUrlArgs = GetPresignedObjectUrlArgs.builder().bucket(properties.getOss().getMinio().getBucketName())
GetPresignedObjectUrlArgs.builder().bucket(properties.getOss().getMinio().getBucketName()) .object(fullFileName).method(Method.GET)
.object(fullFileName).method(Method.GET) // 设置 URL 过期时间为 7 天, 最大 7 天, 别挣扎了
// 设置 URL 过期时间为 7 天, 最大 7 天, 别挣扎了 .expiry(3600 * 24 * 7).build();
.expiry(3600 * 24 * 7).build();
String url = minioClient.getPresignedObjectUrl(presignedUrlArgs); String url = minioClient.getPresignedObjectUrl(presignedUrlArgs);
log.info("生成预签名 URL 成功,fileName: {}, url: {}", fullFileName, url); log.info("生成预签名 URL 成功,fileName: {}, url: {}", fullFileName, url);
return url; return url;
@@ -277,10 +286,10 @@ public class MinioRepository {
* @param res HTTP 响应 * @param res HTTP 响应
*/ */
public void download(String fileName, HttpServletResponse res) { public void download(String fileName, HttpServletResponse res) {
GetObjectArgs objectArgs = GetObjectArgs objectArgs = GetObjectArgs.builder().bucket(properties.getOss().getMinio().getBucketName()).object(fileName).build();
GetObjectArgs.builder().bucket(properties.getOss().getMinio().getBucketName()).object(fileName).build(); try (
try (GetObjectResponse response = minioClient.getObject(objectArgs); GetObjectResponse response = minioClient.getObject(objectArgs); FastByteArrayOutputStream os = new FastByteArrayOutputStream()
FastByteArrayOutputStream os = new FastByteArrayOutputStream()) { ) {
byte[] buf = new byte[1024]; byte[] buf = new byte[1024];
int len; int len;
while ((len = response.read(buf)) != -1) { while ((len = response.read(buf)) != -1) {
@@ -306,8 +315,7 @@ public class MinioRepository {
* @param res HTTP 响应 * @param res HTTP 响应
*/ */
public void downloadOptimizedVersion(String fileName, HttpServletResponse res) { public void downloadOptimizedVersion(String fileName, HttpServletResponse res) {
GetObjectArgs objectArgs = GetObjectArgs objectArgs = GetObjectArgs.builder().bucket(properties.getOss().getMinio().getBucketName()).object(fileName).build();
GetObjectArgs.builder().bucket(properties.getOss().getMinio().getBucketName()).object(fileName).build();
try (GetObjectResponse response = minioClient.getObject(objectArgs)) { try (GetObjectResponse response = minioClient.getObject(objectArgs)) {
// 增大缓冲区 // 增大缓冲区
byte[] buf = new byte[1024 * 4]; byte[] buf = new byte[1024 * 4];
@@ -338,8 +346,7 @@ public class MinioRepository {
*/ */
public List<Item> queryAllObjects() { public List<Item> queryAllObjects() {
try { try {
Iterable<Result<Item>> results = minioClient.listObjects( Iterable<Result<Item>> results = minioClient.listObjects(ListObjectsArgs.builder().bucket(properties.getOss().getMinio().getBucketName()).build());
ListObjectsArgs.builder().bucket(properties.getOss().getMinio().getBucketName()).build());
List<Item> items = new ArrayList<>(); List<Item> items = new ArrayList<>();
for (Result<Item> result : results) { for (Result<Item> result : results) {
items.add(result.get()); items.add(result.get());
@@ -359,9 +366,7 @@ public class MinioRepository {
*/ */
public boolean removeBucketFile(String fileName) { public boolean removeBucketFile(String fileName) {
try { try {
minioClient.removeObject( minioClient.removeObject(RemoveObjectArgs.builder().bucket(properties.getOss().getMinio().getBucketName()).object(fileName).build());
RemoveObjectArgs.builder().bucket(properties.getOss().getMinio().getBucketName()).object(fileName)
.build());
log.info("删除文件成功,fileName: {}", fileName); log.info("删除文件成功,fileName: {}", fileName);
return true; return true;
} catch (Exception e) { } catch (Exception e) {
@@ -203,12 +203,12 @@ app:
queue-capacity: 50 queue-capacity: 50
# oss # oss
oss: oss:
max-size: 100 max-size: 10
minio: minio:
endpoint: http://192.168.100.128:9000 endpoint: https://oss.odboy.cn
bucketName: cutejava bucketName: cutejava
accessKey: 8o5oVzqvKby5TzaGcfmx accessKey: 74rgxZtiYtOzsY9U8W9F
secretKey: 8BiK5UbmvXGJNVQ98CGiohHzT1N1FMRZqHRdJllj secretKey: 7d1BiBlfFQDBHKfwAWjF18TLUMjbd9VbSgnncsTw
captcha: captcha:
expireTime: 300 expireTime: 300
# 序列化白名单 # 序列化白名单
@@ -202,12 +202,12 @@ app:
queue-capacity: 50 queue-capacity: 50
# oss # oss
oss: oss:
max-size: 100 max-size: 10
minio: minio:
endpoint: http://192.168.100.128:9000 endpoint: https://oss.odboy.cn
bucketName: cutejava bucketName: cutejava
accessKey: 8o5oVzqvKby5TzaGcfmx accessKey: 74rgxZtiYtOzsY9U8W9F
secretKey: 8BiK5UbmvXGJNVQ98CGiohHzT1N1FMRZqHRdJllj secretKey: 7d1BiBlfFQDBHKfwAWjF18TLUMjbd9VbSgnncsTw
captcha: captcha:
expireTime: 300 expireTime: 300
# 序列化白名单 # 序列化白名单