当前位置: 首页 > news >正文

如何将腾讯云的测试集成到自己的SpringBoot中

1.创建Util

我们将之前测试的test复制过来,

1.将方法里面的固定参数设置出来private

2.将方法里面的变化参数设置作为传入参数

3.返回String类型的URL地址

完整代码如下:

package org.huangyingyuan.utils;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.model.PutObjectRequest;
import com.qcloud.cos.region.Region;
import java.io.File;//这是关于提供上传文件到腾讯云对象存储的工具类public class TengXunOssUtil {//将参数不会变化的部分提取出来,作为常量(腾讯云的基本信息)private static String  secretId= "你的密钥ID"; // 秘钥 IDprivate static String  secretKey= "你的密钥"; // 密钥private static String  bucketName= "你的存储桶名称";  // 存储桶名称//将参数会发生变化的部分提取出来,作为参数传入/*** 上传文件到腾讯云对象存储* @param COS_PATH 上传到腾讯云的路径* @param localFile 本地文件路径*/public static String uploadFile(String COS_PATH,InputStream localFile) throws Exception {//初始化返回的urlString url = "";// 1. 初始化用户身份信息COSCredentials cred = new BasicCOSCredentials(secretId, secretKey);// 2. 设置 bucket 所在的区域Region region = new Region("ap-guangzhou");ClientConfig clientConfig = new ClientConfig(region);// 3. 创建 COS 客户端COSClient cosClient = new COSClient(cred, clientConfig);PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, COS_PATH, localFile);cosClient.putObject(putObjectRequest);System.out.println("上传成功!");//上传成功后,返回url(URL的组成:https://bucketName.cos.region.myqcloud.com/path)url = "https://" + bucketName + ".cos." + region.getRegionName() + ".myqcloud.com/" + COS_PATH;// 5. 关闭客户端cosClient.shutdown();return url;}
}

2.FileUploadController

package org.huangyingyuan.controller;import org.huangyingyuan.pojo.Result;
import org.huangyingyuan.utils.TengXunOssUtil;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.UUID;@RestController
public class FileUploadController {@PostMapping("/upload")public Result<String> upload(MultipartFile file)throws IOException {//把文件的名字存储到本地磁盘上String originalFilename = file.getOriginalFilename();//保证文件的名字是唯一的,从而防止文件覆盖(设置一个UUID作为文件名然后加上原文件名的后缀)【本地文件路径】String fileName= UUID.randomUUID().toString()+originalFilename.substring(originalFilename.lastIndexOf("."));// 创建临时文件(注意!这里创建临时文件是因为我在TengXunOssUtil中使用了OSS的SDK,而SDK要求上传的文件必须是本地文件)File tempFile = new File(System.getProperty("java.io.tmpdir") + "/" + fileName);// 将MultipartFile写入临时文件try (FileOutputStream fos = new FileOutputStream(tempFile)) {fos.write(file.getBytes());}// 使用临时文件进行上传String url = TengXunOssUtil.uploadFile(fileName, tempFile);// 删除临时文件tempFile.delete();return Result.success(url);}
}

3.成功案例:

到这里我们就实现了通过腾讯云OSS去存储文件了

http://www.xdnf.cn/news/284419.html

相关文章:

  • stm32之TIM定时中断详解
  • 力扣面试150题-- 翻转二叉树
  • Kubernetes控制平面组件:Controller Manager详解
  • 调试——GDB、日志
  • 使用直觉理解不等式
  • 架构思维:构建高并发读服务_热点数据查询的架构设计与性能调优
  • JVM 内存结构全解析
  • AI预测的艺术品走势靠谱吗?
  • 矩阵快速幂 快速求解递推公式
  • 数据集-目标检测系列- 蜥蜴 检测数据集 lizard >> DataBall
  • kotlin中枚举带参数和不带参数的区别
  • Debezium MySqlValueConverters详解
  • 抖音生活服务“五一”数据:小城游火爆,“食住”消费增速显著
  • 【Game】Powerful——Transformation Card(10)
  • linux系统基本操作命令
  • 探索神经符号系统:医疗AI的范式化进程分析
  • # 从零构建一个简单的卷积神经网络:手写数字识别
  • HTML 元素
  • adb无线调试步骤
  • MySQL C API高效编程:C语言实现数据库操作的深入解析
  • Git 第一讲---基础篇 git基础概念与操作
  • 《MATLAB实战训练营:从入门到工业级应用》高阶挑战篇-《用无人机仿真玩转PID控制:MATLAB四旋翼仿真建模全攻略》
  • MATLAB人工大猩猩部队GTO优化CNN-LSTM多变量时间序列预测
  • CDN一般在什么情况下会出现402报错呢?
  • 详解RabbitMQ工作模式之路由模式
  • Java后端开发day41--IO流(一)--FileOutputStreamFileInputStream
  • React-router v7 第八章(边界处理)
  • tensorflow 调试
  • Python从入门到高手8.2节-元组的常用操作符
  • 【Leetcode 每日一题 - 补卡】838. 推多米诺