• 腾讯云生成临时访问链接


    有时候你的文件(文档、图片)可能不想让拿到云存储的url就能让用户访问,新建bucket的时候就要设置为私有读写。

    权限类别文档地址

    此时腾讯云提供了一个【预签名URL】功能,就是通过java sdk(不用http调用腾讯云),算出来一个带有时效性的临时访问链接。

    文档地址

    先上传一个文件做实验:

     示例代码:

    // 初始化永久密钥信息
            String secretId = "AKIDhBOO8dyHxxxxxxVmnXgjCP";
            String secretKey = "5yau0qVMyKxxxxxxxxqlR";
            COSCredentials cred = new BasicCOSCredentials(secretId, secretKey);
            Region region = new Region("ap-nanjing");
            ClientConfig clientConfig = new ClientConfig(region);
            // 如果要生成一个使用 https 协议的 URL,则设置此行,推荐设置。
            // clientConfig.setHttpProtocol(HttpProtocol.https);
            // 生成 cos 客户端。
            COSClient cosClient = new COSClient(cred, clientConfig);
            String bucketName = "nb-1301887372";
            // 此处的key为对象键,对象键是对象在存储桶内的唯一标识
    
            GeneratePresignedUrlRequest req =
                    new GeneratePresignedUrlRequest(bucketName, key, HttpMethodName.GET);
            // 设置签名过期时间(可选), 若未进行设置, 则默认使用 ClientConfig 中的签名过期时间(1小时)
            // 可以设置任意一个未来的时间,推荐是设置 10 分钟到 3 天的过期时间
            // 这里设置签名在半个小时后过期
            Date expirationDate = new Date(System.currentTimeMillis() + 100* 24 * 60 * 60L * 1000L);
            req.setExpiration(expirationDate);
    
            // 填写本次请求的参数
            //req.addRequestParameter("param1", "value1");
            // 填写本次请求的头部。Host 头部会自动补全,不需要填写
            //req.putCustomRequestHeader("header1", "value1");
    
            URL url = cosClient.generatePresignedUrl(req);
    
            System.out.println("获取到临时访问链接======>>>> "+url.toString());
            cosClient.shutdown();

    生成的临时访问链接:

     https://nb-1301887372.cos.ap-nanjing.myqcloud.com/XXOO.pdf?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKIDhBOO8dyHPGtFMDpD4fz5uBDyVmnXgjCP%26q-sign-time%3D1632379402%3B1641019402%26q-key-time%3D1632379402%3B1641019402%26q-header-list%3Dhost%26q-url-param-list%3D%26q-signature%3D7e6cda6ae43c7abda29d5b26c7a5485d2ab97663

    这个链接的特点是  https://nb-1301887372.cos.ap-nanjing.myqcloud.com/XXOO.pdf?sign= 之前,不urlencode,之后的参数urlencode了。

    预览:

     

  • 相关阅读:
    P1967 货车运输【最大生成树+倍增LCA】!!!
    P1991 无线通讯网【kruskal】
    P2872 [USACO07DEC]Building Roads S【kruskal】
    最小生成树
    树的直径
    树的重心
    今日英语单词小结
    项目生命周期
    反射reflect(框架的基石),动态导入小技巧 | 元类 | 单例设计模式
    OOP的三大特征之多态 | 面向对象高级知识,内置魔法函数,点语法和[ ]取值的实现,运算符重载,迭代器协议,上下文管理
  • 原文地址:https://www.cnblogs.com/lihaoyang/p/15324851.html
Copyright © 2020-2023  润新知