【代码可复用!】腾讯云 COS 对象存储管理与文件上传封装

使用前提

在开始使用 CosManagerFileManager 类之前,需要确保以下前提条件已满足:

1. 开通腾讯云对象存储(COS)服务

在这里插入图片描述

  • 注册腾讯云账号:如果您还没有腾讯云账号,可以前往 腾讯云官网 注册一个账号。
  • 开通对象存储(COS)服务:登录腾讯云控制台,进入 COS 服务开通页面,按照指引完成 COS 服务的开通。
  • 创建存储桶:在 COS 控制台中创建一个存储桶,用于存储上传的文件。创建时需要设置存储桶的名称、地域、访问权限等参数。
  • 获取 API 密钥:在腾讯云控制台的 API 密钥管理页面 中,获取您的 SecretIdSecretKey,这些密钥将用于初始化 COS 客户端。

2. 开通腾讯云数据万象(CI)服务

在这里插入图片描述

  • 开通数据万象(CI)服务:登录腾讯云控制台,进入 数据万象服务开通页面,按照指引完成 CI 服务的开通。
  • 关联存储桶:在数据万象控制台中,将您在 COS 中创建的存储桶关联到 CI 服务,以便使用图片处理、视频处理等功能。
  • 配置图片处理规则:在数据万象控制台中,您可以配置图片处理规则,例如图片压缩、裁剪、格式转换等。这些规则可以在上传图片时通过 PicOperations 类动态设置。

3. 配置 COS 客户端

在使用 CosManagerFileManager 类之前,您需要在项目中配置 COS 客户端,并在 Spring Boot 中注入相关依赖。以下是配置步骤:

3.1 配置 CosClientConfig

CosClientConfig 类用于存储 COS 客户端的配置信息,包括 SecretIdSecretKey、存储桶名称、访问域名等。

package cn.yam.sypicture.config;

import com.qcloud.cos.COSClient;
import com.qcloud.cos.ClientConfig;
import com.qcloud.cos.auth.BasicCOSCredentials;
import com.qcloud.cos.auth.COSCredentials;
import com.qcloud.cos.http.HttpProtocol;
import com.qcloud.cos.region.Region;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
@ConfigurationProperties(prefix = "cos.client")
@Data
public class CosClientConfig {
   
   

    /**
     * 域名
     */
    private String host;

    /**
     * secretId
     */
    private String secretId;

    /**
     * 密钥(注意不要泄露)
     */
    private String secretKey;

    /**
     * 区域
     */
    private String region;

    /**
     * 桶名
     */
    private String bucket;

    @Bean
    public COSClient cosClient() {
   
   
        // 1 初始化用户身份信息(secretId, secretKey)。
        // SECRETID 和 SECRETKEY 请登录访问管理控制台 https://console.cloud.tencent.com/cam/capi 进行查看和管理
        COSCredentials cred = new BasicCOSCredentials(secretId, secretKey);
        // 2 设置 bucket 的地域, COS 地域的简称请参见 https://cloud.tencent.com/document/product/436/6224
        // clientConfig 中包含了设置 region, https(默认 http), 超时, 代理等 set 方法, 使用可参见源码或者常见问题 Java SDK 部分。
        ClientConfig clientConfig = new ClientConfig(new Region(region));
        // 这里建议设置使用 https 协议
        // 从 5.6.54 版本开始,默认使用了 https
        clientConfig.setHttpProtocol(HttpProtocol.https);
        // 3 生成 cos 客户端。
        return new COSClient(cred, clientConfig);
    }
}

3.2 配置 application.yml

在 Spring Boot 项目中,将腾讯云的相关配置信息写入 application.yml 文件中:
注意这部分内容注意切勿泄露,解决方案请看:https://blog.youkuaiyun.com/web2u/article/details/145445772?spm=1001.2014.3001.5502

tencent:
  cos:
    secretId: your-secret-id
    secretKey: your-secret-key
    bucket: your-bucket-name
    region: ap-chengdu # 存储桶所在地域
    host: https://your-bucket-name.cos.ap-chengdu.myqcloud.com # 存储桶访问域名

3.3 注入依赖

CosManagerFileManager 类中,通过 @Resource 注解注入 CosClientConfigCOSClient

@Resource
private CosClientConfig cosClientConfig;

@Resource
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值