ChenJiaHe
2020-12-03 7b319c5d9e8f133fa63637eb2754b1b6a223599d
提交 | 用户 | age
7b319c 1 package com.hx.util;
C 2
3 import com.aliyun.oss.OSSClient;
4 import com.aliyun.oss.model.OSSObject;
5 import com.qcloud.cos.COSClient;
6 import com.qcloud.cos.ClientConfig;
7 import com.qcloud.cos.auth.BasicCOSCredentials;
8 import com.qcloud.cos.auth.COSCredentials;
9 import com.qcloud.cos.model.PutObjectRequest;
10 import com.qcloud.cos.model.PutObjectResult;
11 import com.qcloud.cos.region.Region;
12 import org.springframework.web.multipart.MultipartFile;
13
14 import java.io.ByteArrayOutputStream;
15 import java.io.File;
16 import java.io.IOException;
17 import java.io.InputStream;
18 import java.util.Date;
19
20 /**腾讯云 COS
21  * @author ChenJiaHe
22  * @date 2020-12-03
23  */
24 public class COSUtil {
25
26     /** 后端调用上传图片
27      * @param key 上传路径(包括图片名称和和后缀),指定要上传到 COS 上对象键
28      * @param localFile
29      * @param secretId 用户id
30      * @param secretKey 用户秘钥
31      * @param regionName 存在域,参考腾讯云
32      * @param bucketName 指定要上传到的存储桶
33      * @return
34      * @throws IOException
35      */
36     public static String uploadImg(String key,File localFile,String secretId, String secretKey,String regionName,String bucketName) throws IOException {
37
38         // 1 初始化用户身份信息(secretId, secretKey)。
39         COSCredentials cred = new BasicCOSCredentials(secretId, secretKey);
40         // 2 设置 bucket 的区域, COS 地域的简称请参照 https://cloud.tencent.com/document/product/436/6224
41         // clientConfig 中包含了设置 region, https(默认 http), 超时, 代理等 set 方法, 使用可参见源码或者常见问题 Java SDK 部分。
42         Region region = new Region(regionName);
43         ClientConfig clientConfig = new ClientConfig(region);
44         // 3 生成 cos 客户端。
45         COSClient cosClient = new COSClient(cred, clientConfig);
46
47         //开始上传
48         PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, key, localFile);
49         PutObjectResult putObjectResult = cosClient.putObject(putObjectRequest);
50
51         //拼接路径
52         StringBuilder imgUrl = new StringBuilder();
53         imgUrl.append("https://"+bucketName+"-"+secretId+".cos."+regionName+".myqcloud.com");
54         if(key.startsWith("/")){
55             imgUrl.append(key);
56         }else{
57             imgUrl.append("/"+key);
58         }
59         return imgUrl.toString();
60
61     }
62
63 }