腾讯云对象存储COS,Springboot文件上传,附完整流程,详细步骤及代码实现

本文详细介绍了如何使用SpringBoot实现腾讯云对象存储COS的文件上传。从注册腾讯云账号、创建存储桶、获取密钥,到编写SpringBoot程序配置、工具类和控制器,最后通过Postman进行模拟前端请求验证文件上传功能。
摘要由CSDN通过智能技术生成

腾讯云对象存储COS,Springboot实现文件上传

操作步骤:
1.注册腾讯云账号,开启对象存储服务
2.编写程序,实现文件上传

1.注册账号

1.注册一个账号,直接微信扫码即可,可实名认证

在这里插入图片描述

2.点击存储与网络,选择对象存储服务(这里有免费体验的可以选择)

在这里插入图片描述

3.创建存储桶

在这里插入图片描述

4.修改名称,修改访问权限

在这里插入图片描述

5.剩下的都不用动,点击下一步即可

在这里插入图片描述
在这里插入图片描述

6.创建好了之后点击概览,记录存储桶名称,所属地域,和访问域名(后边编写程序要用)

在这里插入图片描述

7.进入密钥管理,访问密钥

在这里插入图片描述

8.新建密钥,记住id和key(写程序要用)

在这里插入图片描述--------------------------------------------------------------------分割线------------------------------------------------------------------

2.编写程序实现文件上传

1.编写yml配置文件

#腾讯云COS配置
tencent:
  cos:
  	#访问域名
    rootSrc : https://tenc*********9516.cos.ap-nanjing.myqcloud.com
    #所属地域
    bucketAddr: ap-nanjing
    SecretId: AKIDq*******MSIuFKAk5A0oNfiV
    SecretKey: eZLr89*******GBrIXaP0MVRBnESUN
    #存储桶名称
    bucketName: tence*********8349516

2.编写腾讯云连接配置类

实现思路:
1.引用lombok依赖使用@Data注解自动生成getter和setter注解
2.使用@Component注解控制反转
3.使用配置类注解@ConfigurationProperties注入外部配置类属性

package com.itheima.utils;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

@Data
@Component
@ConfigurationProperties(prefix = "tencent.cos")
public class TencentCOSproperties {
   
    private String rootSrc ; /
可以使用腾讯云官方提供的Java SDK,具体步骤如下: 1. 在pom.xml文件中引入腾讯云cos-java-sdk-v5依赖: ```xml <dependency> <groupId>com.qcloud</groupId> <artifactId>cos_api</artifactId> <version>5.6.19</version> </dependency> ``` 2. 创建腾讯云cos的配置类: ```java @Configuration public class TencentCosConfig { @Value("${tencent.cos.secretId}") private String secretId; @Value("${tencent.cos.secretKey}") private String secretKey; @Value("${tencent.cos.region}") private String region; @Value("${tencent.cos.bucketName}") private String bucketName; @Bean public COSCredentials cosCredentials() { return new BasicCOSCredentials(secretId, secretKey); } @Bean public ClientConfig clientConfig() { ClientConfig clientConfig = new ClientConfig(); clientConfig.setRegion(new Region(region)); return clientConfig; } @Bean public COSClient cosClient() { return new COSClient(cosCredentials(), clientConfig()); } @Bean public String bucketName() { return bucketName; } } ``` 其中,secretId和secretKey是腾讯云提供的访问密钥,region是存储桶所在的地域,bucketName是存储桶的名称。可以在配置文件中配置这些变量,这里用@Value注解获取。 3. 在上传文件的Controller中注入cosClient和bucketName,实现文件上传方法: ```java @RestController public class FileController { @Autowired private COSClient cosClient; @Autowired private String bucketName; @PostMapping("/uploadFile") public String uploadFile(@RequestParam("file") MultipartFile file) throws Exception { ObjectMetadata objectMetadata = new ObjectMetadata(); objectMetadata.setContentLength(file.getSize()); objectMetadata.setContentType(file.getContentType()); String fileName = UUID.randomUUID().toString() + "." + FilenameUtils.getExtension(file.getOriginalFilename()); PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, fileName, file.getInputStream(), objectMetadata); cosClient.putObject(putObjectRequest); return "https://" + bucketName + ".cos." + "region" + ".myqcloud.com/" + fileName; } } ``` 这里上传文件的方式为MultipartFile类型,使用Apache Commons IO工具类获取文件后缀名,并用UUID生成随机文件名。然后创建PutObjectRequest对象,调用cosClient的putObject方法上传文件,最后将文件URL返回给前端。 希望以上信息能对你有所帮助。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

暖阳爱学计算机

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值