From 03ae0a4315d850d617f1f201d2618d4587cc0c3a Mon Sep 17 00:00:00 2001 From: pbvfus8to <480171784@qq.com> Date: Wed, 18 Dec 2024 11:10:38 +0800 Subject: [PATCH] Update FileUploadConfig.java --- .../shop/common/config/FileUploadConfig.java | 55 ++++++++++++++----- 1 file changed, 41 insertions(+), 14 deletions(-) diff --git a/yami-shop-common/src/main/java/com/yami/shop/common/config/FileUploadConfig.java b/yami-shop-common/src/main/java/com/yami/shop/common/config/FileUploadConfig.java index 8ffd996..4961d88 100644 --- a/yami-shop-common/src/main/java/com/yami/shop/common/config/FileUploadConfig.java +++ b/yami-shop-common/src/main/java/com/yami/shop/common/config/FileUploadConfig.java @@ -25,38 +25,59 @@ import com.yami.shop.common.bean.Qiniu; import java.util.Objects; /** - * 文件上传配置 + * 该类是文件上传相关的配置类,主要用于配置七牛云文件上传服务所需的各种组件实例,例如配置七牛云的存储区域、 + * 创建上传管理实例、认证信息实例以及空间管理实例等,通过 Spring 的配置机制(@Configuration 和 @Bean 注解)将这些实例注入到 Spring 容器中, + * 方便在文件上传相关的业务逻辑中进行使用,使得文件上传功能能够与七牛云服务进行有效的集成。 + * * @author lgh */ @Configuration public class FileUploadConfig { - - @Autowired - private Qiniu qiniu; + // 通过 Spring 的自动注入机制,将 Qiniu 类型的配置对象注入到当前类中,该对象应该包含了七牛云服务相关的配置信息,如密钥、存储区域等。 + @Autowired + private Qiniu qiniu; /** - * 根据配置文件选择机房 + * 根据配置文件中的机房区域设置,创建并返回七牛云存储的配置实例(com.qiniu.storage.Configuration), + * 此配置实例指定了七牛云存储服务所使用的机房区域(Zone),通过判断配置对象(qiniu)中的机房区域枚举值(QiniuZone), + * 来选择对应的七牛云 Zone 实例,从而确定文件存储的具体机房位置,影响文件上传和存储的相关操作。 + * + * @return 七牛云存储的配置实例,包含了选定的机房区域信息,用于后续七牛云相关服务实例的创建和操作。 */ @Bean public com.qiniu.storage.Configuration qiniuConfig() { Zone zone = null; + // 判断配置对象中的机房区域枚举值是否为华北区(HUA_BEI),如果是,则创建对应的七牛云华北区 Zone 实例。 if (Objects.equals(qiniu.getZone(), QiniuZone.HUA_BEI)) { zone = Zone.huabei(); - } else if (Objects.equals(qiniu.getZone(), QiniuZone.HUA_DONG)) { + } + // 判断是否为华东区(HUA_DONG),若是,则创建华东区 Zone 实例。 + else if (Objects.equals(qiniu.getZone(), QiniuZone.HUA_DONG)) { zone = Zone.huadong(); - } else if (Objects.equals(qiniu.getZone(), QiniuZone.HUA_NAN)) { + } + // 判断是否为华南区(HUA_NAN),若是,则创建华南区 Zone 实例。 + else if (Objects.equals(qiniu.getZone(), QiniuZone.HUA_NAN)) { zone = Zone.huanan(); - } else if (Objects.equals(qiniu.getZone(), QiniuZone.BEI_MEI)) { + } + // 判断是否为北美区(BEI_MEI),若是,则创建北美区 Zone 实例。 + else if (Objects.equals(qiniu.getZone(), QiniuZone.BEI_MEI)) { zone = Zone.beimei(); - } else if (Objects.equals(qiniu.getZone(), QiniuZone.XIN_JIA_PO)) { + } + // 判断是否为新加坡区(XIN_JIA_PO),若是,则创建新加坡区 Zone 实例。 + else if (Objects.equals(qiniu.getZone(), QiniuZone.XIN_JIA_PO)) { zone = Zone.xinjiapo(); } + // 使用选定的 Zone 实例创建并返回七牛云存储的配置实例,用于后续的七牛云服务操作。 return new com.qiniu.storage.Configuration(zone); } /** - * 构建一个七牛上传工具实例 + * 创建并返回一个七牛云的上传管理实例(UploadManager),该实例用于执行文件上传到七牛云存储的具体操作, + * 它依赖于前面创建的七牛云存储配置实例(qiniuConfig() 方法返回的对象)来确定上传操作的相关配置,如机房区域等信息, + * 使得在进行文件上传时能够按照正确的配置与七牛云服务进行交互。 + * + * @return 七牛云的上传管理实例,可用于在业务代码中调用其方法实现文件上传到七牛云存储的功能。 */ @Bean public UploadManager uploadManager() { @@ -64,8 +85,10 @@ public class FileUploadConfig { } /** - * 认证信息实例 - * @return + * 创建并返回一个七牛云的认证信息实例(Auth),该实例用于生成七牛云服务调用所需的认证凭证,通过配置对象(qiniu)中的访问密钥(accessKey)和秘密密钥(secretKey), + * 按照七牛云的认证机制创建认证对象,使得后续与七牛云存储、空间管理等服务进行交互时能够进行身份验证,确保请求的合法性和安全性。 + * + * @return 七牛云的认证信息实例,包含了基于配置的访问密钥和秘密密钥生成的认证凭证,用于七牛云服务调用时的身份验证。 */ @Bean public Auth auth() { @@ -73,10 +96,14 @@ public class FileUploadConfig { } /** - * 构建七牛空间管理实例 + * 创建并返回一个七牛云的空间管理实例(BucketManager),该实例用于对七牛云存储中的空间(Bucket)进行管理操作, + * 例如文件的删除、查看空间信息等操作,它依赖于前面创建的认证信息实例(auth() 方法返回的对象)进行身份验证, + * 同时也依赖于七牛云存储配置实例(qiniuConfig() 方法返回的对象)来确定相关操作的配置信息,确保空间管理操作能够在正确的配置环境下进行。 + * + * @return 七牛云的空间管理实例,可用于在业务代码中调用其方法实现对七牛云存储空间的管理功能。 */ @Bean public BucketManager bucketManager() { return new BucketManager(auth(), qiniuConfig()); } -} +} \ No newline at end of file