如何在spring boot项目中利用腾讯云上传存储文件

注册与登录

1.访问 腾讯云官网,注册并登录账号。完成实名认证(这是必须的)。

2.开通COS服务

这里有指引,一步步照着点确定就行

在控制台首页搜索"对象存储"或"COS",进入产品页面,点击"立即使用"或"开通"。新用户通常有免费额度。https://console.cloud.tencent.com/cos

创建一个存储桶(Bucket)

这是最关键的一步,存储桶就是你存放文件的"柜子"。

在COS控制台,点击"创建存储桶"。

填写配置

  • 名称 :起一个全球唯一的名字,比如 yourblog-private-msg-1250000000(后面的数字是你的APPID)。

  • 地域:选择离你用户最近的地域,如"上海"。

  • 访问权限务必选择"公有读私有写"。这样,用户才能直接通过链接查看你发的图片/文件,而上传则需要你的授权(通过后端代码)。

其他选项保持默认即可,点击"创建"。

获取你的API密钥(SecretId & SecretKey)

复制代码
 ### 这是你的"账号密码",代码用它来获得操作COS的权限。
复制代码
 ### 点击网页右上角你的账号名称,进入"访问管理" -\> "API密钥管理"。

你会看到 SecretIdSecretKey。请像保护密码一样妥善保管,不要泄露或提交到公开的代码仓库(如GitHub)。

这里在创建密钥的时候一定要选择为下载csv文件,要不然后面很难写对密钥

3.代码测试上传是否成功

1)建立spring boot项目

2)在pom.xml文件里添加如下依赖

java 复制代码
<dependency>
    <groupId>com.qcloud</groupId>
    <artifactId>cos_api</artifactId>
    <version>5.6.227</version>
</dependency>

3)在test/java目录下编写测试文件

java 复制代码
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.model.PutObjectRequest;
import com.qcloud.cos.model.PutObjectResult;
import com.qcloud.cos.region.Region;
import java.io.File;

public class CosSimpleTest {
    public static void main(String[] args) {
        // 1. 替换成你自己的信息(以下4项必须修改)
        String secretId = "AKIDug"; // 你的SecretId
        String secretKey = "eoq"; // 你的SecretKey(刚刚保存的那个长字符串)
        String region = "ap-shanghai"; // 存储桶地域,如上海是 ap-shanghai
        String bucketName = "wx4-133"; // 你的存储桶名称

        // 2. 准备一个要上传的本地测试文件(修改为你的文件绝对路径)
        File localFile = new File("C:/pages/pure/cat.jpg"); // 示例路径

        // 3. 初始化COS客户端
        COSCredentials cred = new BasicCOSCredentials(secretId, secretKey);
        Region reg = new Region(region);
        ClientConfig clientConfig = new ClientConfig(reg);
        clientConfig.setHttpProtocol(HttpProtocol.https); // 使用HTTPS协议
        COSClient cosClient = new COSClient(cred, clientConfig);

        try {
            // 4. 指定文件上传到COS后的路径和文件名
            String key = "test-images/" + localFile.getName(); // COS中的文件路径
            PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, key, localFile);
            PutObjectResult putObjectResult = cosClient.putObject(putObjectRequest);

            // 5. 如果成功,打印出文件的访问链接
            String url = "https://" + bucketName + ".cos." + region + ".myqcloud.com/" + key;
            System.out.println("✅ 上传成功!");
            System.out.println("✅ 文件访问URL: " + url);
            // 你可以复制这个URL到浏览器,看看能否打开图片

        } catch (Exception e) {
            System.err.println("❌ 上传失败,错误信息: " + e.getMessage());
            e.printStackTrace();
        } finally {
            // 6. 最后一定要关闭客户端
            cosClient.shutdown();
        }
    }
}

4)点击文件,运行测试

控制台显示文件上传成功

https://console.cloud.tencent.com/cos刷新,出现文件夹就证明测试成功了。

相关推荐
云贝贝贝2 天前
腾讯云 TDSQL(MySQL 版)性能优化与慢查询排障实战 6 招
运维·腾讯云
小葱运维2 天前
命名与环境规范
运维·开源·云计算
workflower2 天前
SSH(Struts+Spring+Hibernate)
人工智能·机器学习·机器人·云计算·无人机
thinking_talk2 天前
WorkBuddy应用生成背后的数据层:腾讯云PG
postgresql·腾讯云·云数据库
不吃香菜kkk、2 天前
CI/CD(GitOps)学习与部署手册
运维·云原生·容器·kubernetes·云计算·jenkins·argocd
金融小师妹2 天前
AI金融能力评估:18个主流模型金融问题平均错误率达57%
人工智能·云计算·逻辑回归·深度优先
whyutianict_vv2 天前
云计算运维培训课程技术栈拆解:从 Linux 网络到 AI 推理的五层能力分层
linux·云计算
ZStack开发者社区2 天前
ZSvirt 开源月报第 1 期 · Around the World
开源·云计算·vmware·虚拟化
QYRdata2 天前
ICMP云管理平台2026-2032年CAGR达13.5% 未来发展潜力凸显
云计算·服务发现
天翼云开发者社区2 天前
央国企大模型安全合规应用新标杆!中国电信天翼云推出央企可信Token专区!
云计算·大模型推理服务