fix(storage): 修复MinIO文件上传和配置问题
- 修复文件上传时缺少后缀名的问题,添加对无后缀文件的处理逻辑 - 更新开发和生产环境的OSS配置,修改endpoint、accessKey和secretKey - 将文件大小限制从100调整为10 - 优化代码格式,修复方法参数换行和构建器链式调用的格式问题 - 统一多个版本中的MinIO仓库代码变更
This commit is contained in:
+19
-5
@@ -45,11 +45,13 @@ import io.minio.messages.Bucket;
|
||||
import io.minio.messages.Item;
|
||||
import jakarta.servlet.ServletOutputStream;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.InputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
@@ -145,15 +147,25 @@ public class MinioRepository {
|
||||
* @param md5 文件md5
|
||||
* @return String 上传后的文件名,上传失败返回 null
|
||||
*/
|
||||
public SystemOssStorageTb upload(File tempFile, String originalFilename, long fileSize, String contentType,
|
||||
String md5) {
|
||||
public SystemOssStorageTb upload(
|
||||
File tempFile, String originalFilename, long fileSize, String contentType,
|
||||
String md5
|
||||
) {
|
||||
StorageOSSModel ossConfig = properties.getOss();
|
||||
OSSConfigModel ossMinioConfig = ossConfig.getMinio();
|
||||
String type = FileTypeUtil.getType(tempFile);
|
||||
String prefix = KitFileUtil.getPrefix(tempFile);
|
||||
String suffix = KitFileUtil.getSuffix(tempFile);
|
||||
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;
|
||||
log.info("上传文件,原文件名:{},上传后文件名:{}", originalFilename, fileName);
|
||||
String fileUrl = ossMinioConfig.getEndpoint() + "/" + ossMinioConfig.getBucketName() + "/" + objectName;
|
||||
@@ -279,8 +291,10 @@ public class MinioRepository {
|
||||
public void download(String fileName, HttpServletResponse res) {
|
||||
GetObjectArgs objectArgs =
|
||||
GetObjectArgs.builder().bucket(properties.getOss().getMinio().getBucketName()).object(fileName).build();
|
||||
try (GetObjectResponse response = minioClient.getObject(objectArgs);
|
||||
FastByteArrayOutputStream os = new FastByteArrayOutputStream()) {
|
||||
try (
|
||||
GetObjectResponse response = minioClient.getObject(objectArgs);
|
||||
FastByteArrayOutputStream os = new FastByteArrayOutputStream()
|
||||
) {
|
||||
byte[] buf = new byte[1024];
|
||||
int len;
|
||||
while ((len = response.read(buf)) != -1) {
|
||||
|
||||
Reference in New Issue
Block a user