From 9e9b3aef2222df9dc0d698a81605ad9515b5f023 Mon Sep 17 00:00:00 2001 From: bunny <1319900154@qq.com> Date: Thu, 13 Jun 2024 09:35:10 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E4=BF=AE=E6=94=B9):=20:recycle:=20?= =?UTF-8?q?=E5=B7=A5=E5=85=B7=E7=B1=BB=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/service/utils/RequestUtil.java | 57 ------------------- .../result/constant/FileMessageConstant.java | 2 +- .../bunny/module/minio/utils/MinioUtil.java | 37 +++++++++++- 3 files changed, 37 insertions(+), 59 deletions(-) delete mode 100644 common/service-utils/src/main/java/cn/bunny/common/service/utils/RequestUtil.java diff --git a/common/service-utils/src/main/java/cn/bunny/common/service/utils/RequestUtil.java b/common/service-utils/src/main/java/cn/bunny/common/service/utils/RequestUtil.java deleted file mode 100644 index b7942db..0000000 --- a/common/service-utils/src/main/java/cn/bunny/common/service/utils/RequestUtil.java +++ /dev/null @@ -1,57 +0,0 @@ -package cn.bunny.common.service.utils; - -import cn.bunny.common.service.exception.BunnyException; -import cn.bunny.pojo.result.ResultCodeEnum; -import jakarta.servlet.http.HttpServletRequest; - -import java.net.Inet6Address; -import java.net.InetAddress; - -public class RequestUtil { - public static String getHttpIpAddress(HttpServletRequest request) { - - String ipv6Address = request.getRemoteAddr(); - try { - InetAddress inetAddress = InetAddress.getByName(ipv6Address); - if (inetAddress.isAnyLocalAddress() || inetAddress.isLoopbackAddress()) { - System.out.println("IPv4 Address: " + inetAddress.getHostAddress()); - } else { - InetAddress ipv4Address = Inet6Address.getByAddress(null, inetAddress.getAddress(), 0); - System.out.println("IPv4 Address: " + ipv4Address.getHostAddress()); - } - } catch (Exception e) { - throw new BunnyException(ResultCodeEnum.SERVICE_ERROR); - } - String ipAddress = request.getHeader("X-Forwarded-For"); - - if (ipAddress == null || ipAddress.isEmpty() || "unknown".equalsIgnoreCase(ipAddress)) { - ipAddress = request.getHeader("Proxy-Client-IP"); - } - if (ipAddress == null || ipAddress.isEmpty() || "unknown".equalsIgnoreCase(ipAddress)) { - ipAddress = request.getHeader("WL-Proxy-Client-IP"); - } - if (ipAddress == null || ipAddress.isEmpty() || "unknown".equalsIgnoreCase(ipAddress)) { - ipAddress = request.getHeader("HTTP_X_FORWARDED_FOR"); - } - if (ipAddress == null || ipAddress.isEmpty() || "unknown".equalsIgnoreCase(ipAddress)) { - ipAddress = request.getHeader("HTTP_X_FORWARDED"); - } - if (ipAddress == null || ipAddress.isEmpty() || "unknown".equalsIgnoreCase(ipAddress)) { - ipAddress = request.getHeader("HTTP_X_CLUSTER_CLIENT_IP"); - } - if (ipAddress == null || ipAddress.isEmpty() || "unknown".equalsIgnoreCase(ipAddress)) { - ipAddress = request.getHeader("HTTP_CLIENT_IP"); - } - if (ipAddress == null || ipAddress.isEmpty() || "unknown".equalsIgnoreCase(ipAddress)) { - ipAddress = request.getHeader("HTTP_FORWARDED_FOR"); - } - if (ipAddress == null || ipAddress.isEmpty() || "unknown".equalsIgnoreCase(ipAddress)) { - ipAddress = request.getHeader("HTTP_FORWARDED"); - } - if (ipAddress == null || ipAddress.isEmpty() || "unknown".equalsIgnoreCase(ipAddress)) { - ipAddress = request.getHeader("REMOTE_ADDR"); - } - - return ipAddress; - } -} diff --git a/dao/src/main/java/cn/bunny/pojo/result/constant/FileMessageConstant.java b/dao/src/main/java/cn/bunny/pojo/result/constant/FileMessageConstant.java index d608a30..fc027bd 100644 --- a/dao/src/main/java/cn/bunny/pojo/result/constant/FileMessageConstant.java +++ b/dao/src/main/java/cn/bunny/pojo/result/constant/FileMessageConstant.java @@ -6,7 +6,7 @@ import lombok.Data; public class FileMessageConstant { public static final String DOWNLOAD_BUCKET_EXCEPTION = "下载文件失败"; public static final String FILE_UPLOAD_EXCEPTION = "文件上传失败"; - public static final String BUCKET_EXISTS_EXCEPTION = "查询文化部对象失败"; + public static final String BUCKET_EXISTS_EXCEPTION = "查询文件对象失败"; public static final String DELETE_BUCKET_EXCEPTION = "删除文件对象失败"; public static final String FILE_IS_EMPTY = "文件信息为空"; public static final String FILE_IS_NOT_EXITS = "文件信息为空"; diff --git a/module/module-minio/src/main/java/cn/bunny/module/minio/utils/MinioUtil.java b/module/module-minio/src/main/java/cn/bunny/module/minio/utils/MinioUtil.java index f180fb2..b7435d2 100644 --- a/module/module-minio/src/main/java/cn/bunny/module/minio/utils/MinioUtil.java +++ b/module/module-minio/src/main/java/cn/bunny/module/minio/utils/MinioUtil.java @@ -1,7 +1,8 @@ package cn.bunny.module.minio.utils; -import cn.bunny.pojo.result.constant.FileMessageConstant; import cn.bunny.common.service.exception.BunnyException; +import cn.bunny.module.minio.properties.MinioProperties; +import cn.bunny.pojo.result.constant.FileMessageConstant; import io.minio.*; import io.minio.messages.*; import lombok.extern.slf4j.Slf4j; @@ -19,9 +20,43 @@ import java.util.Map; @Component @Slf4j public class MinioUtil { + @Autowired + private MinioProperties properties; @Autowired private MinioClient minioClient; + /** + * 获取Minio全路径名 + * + * @param objectName 对象名称 + * @return 全路径 + */ + public String getFullPath(String objectName) { + String url = properties.getEndpointUrl(); + String bucketName = properties.getBucketName(); + + return url + "/" + bucketName + objectName; + } + + /** + * 获取文件并返回字节数组 + * + * @param bucketName 桶名称 + * @param objectName 对象名称 + * @return 文件流对象 + */ + public byte[] getBucketObjectByte(String bucketName, String objectName) { + try { + GetObjectResponse getObjectResponse = minioClient.getObject(GetObjectArgs.builder().bucket(bucketName).object(objectName).build()); + log.info("获取文件 ------ 成功"); + return getObjectResponse.readAllBytes(); + } catch (Exception exception) { + log.error("获取文件 ------ 失败消息:{}", exception.getLocalizedMessage()); + exception.getStackTrace(); + } + throw new BunnyException(FileMessageConstant.GET_BUCKET_EXCEPTION); + } + /** * 判断桶是否存在 *