腾讯云COS云对象存储,分布式解决签名上传

昨天写了阿里云的OSS对象存储签名上传,今天把腾讯云的也总结一下,非常简单,开通步骤和开通子用户并授权就不再多说,类比上一篇博客:
https://blog.csdn.net/m0_57249797/article/details/124748601?spm=1001.2014.3001.5501

直接上后端签名代码:
Maven依赖:

		<dependency>
            <groupId>com.qcloud</groupId>
            <artifactId>cos_api</artifactId>
            <version>5.6.54</version>
        </dependency>

后端代码

 @GetMapping("test")
    public String doGet() {
    
    
        // 1 初始化用户身份信息(secretId, secretKey)
        COSCredentials cred = new BasicCOSCredentials("你的secretId", "你的secretKey");
        // 2 设置bucket的区域, COS地域的简称请参照 https://cloud.tencent.com/document/product/436/6224
        ClientConfig clientConfig = new ClientConfig(new Region("ap-nanjing"));
        // 3 生成 cos 客户端
        COSClient cosclient = new COSClient(cred, clientConfig);
        // bucket名需包含appid
        String bucketName = "填你的桶名字";
        String key = "test.jpeg";
        Date expirationTime = new Date(System.currentTimeMillis() + 30 * 60 * 1000);
//        HashMap<String, String> headers = new HashMap<>();
//        headers.put("Content-Type","image/jpeg");
        // 生成预签名上传 URL
        URL url = cosclient.generatePresignedUrl(bucketName, key, expirationTime, HttpMethodName.PUT, new HashMap<>(), new HashMap<>());
        return url.toString();
    }

postman发送请求获取签名链接:
在这里插入图片描述

postman拿着签名上传链接,上传文件二进制流(如果用表单上传,请求方法是post,还要带上"key:文件名",与"Content-Type:image/jpeg"才能成功上传)
PUT上传
在这里插入图片描述
点击上传后查看上传结果:
在这里插入图片描述
获取请求访问地址拼接就不写了,之前写过,更多原理可以问我,或者看上一篇关于阿里云的博客

猜你喜欢

转载自blog.csdn.net/m0_57249797/article/details/124766809