如何在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刷新,出现文件夹就证明测试成功了。

相关推荐
AKAMAI13 小时前
当AI模型超出存储增长时
人工智能·云计算
Kendra91916 小时前
从 0 到上线:单文件网页 App 部署到阿里云 ECS 全流程(Nginx+Node+PM2+PostgreSQL)
nginx·阿里云·云计算·部署·个人开发·今天吃什么
北极糊的狐20 小时前
阿里云宝塔输入cat /www/server/panel/config/safe_path.conf报错 No such file or directory
阿里云·云计算
北极糊的狐1 天前
阿里云宝塔报错bash tools/update.sh: No such file or directory 意思是:tools 整个目录直接丢失
阿里云·云计算·bash
NiceCloud喜云1 天前
阿里云 ECS 实例怎么选:面向出海业务的规格、地域与成本判断
阿里云·云计算
云老大-阿里云国际站代理商1 天前
腾讯云国际站代理商:CVM 跨地域网络抖动排查,深度分析 TCP 重传与 MTU 问题
网络·tcp/ip·腾讯云
丨晨 丨1 天前
LNMP_LAMP_项目实战教程
云计算
李小白661 天前
1-Shell编程和网络服务介绍
运维·云计算
zhougl9961 天前
Java实现腾讯云开发者社区列表爬虫
java·爬虫·腾讯云
yuhaiqun19891 天前
AI往哪长|云计算·边缘计算·世界模型·空间智能·具身智能一次讲透
人工智能·云计算·边缘计算·具身智能·世界模型·空间智能