tencent cloud

文档反馈

生成预签名链接

最后更新时间:2024-01-05 16:09:42

    简介

    本文档提供关于生成对象预签名链接相关的 SDK 示例代码。
    关于使用预签名 URL 上传的说明请参见 预签名授权上传, 使用预签名 URL 下载的说明请参见 预签名授权下载
    说明
    签名规则。请参考 请求签名
    建议用户使用临时密钥生成预签名,通过临时授权的方式进一步提高预签名上传、下载等请求的安全性。申请临时密钥时,请遵循 最小权限指引原则,防止泄露目标存储桶或对象之外的资源。
    如果您一定要使用永久密钥来生成预签名,建议永久密钥的权限范围仅限于上传或下载操作,以规避风险。

    生成对象下载预签名链接

    功能说明

    生成用于 COS 对象下载的预签名链接。

    示例代码

    // 存储桶名称,由 bucketname-appid 组成,appid 必须填入,可以在 COS 控制台查看存储桶名称。 https://console.tencentcloud.com/cos5/bucket
    String bucket = "examplebucket-1250000000";
    //对象在存储桶中的位置标识符,即对象键
    String cosPath = "exampleobject";
    HashMap<String, String> parameters = HashMap();
    parameters["test1k"] = "test1v";
    parameters["test2k"] = "test2v";
    try {
    // 获取对象下载预签名链接
    String objectUrl = await Cos().getDefaultService().getPresignedUrl(
    bucket,
    cosPath,
    parameters: parameters
    );
    } catch (e) {
    // 失败后会抛异常 根据异常进行业务处理
    print(e);
    }

    参数说明

    参数名称
    描述
    类型
    是否必选
    bucket
    桶名称,Bucket 的命名规则为 BucketName-APPID,详情请参见 存储桶概述
    String
    cosPath
    对象键 是对象在存储桶中的唯一标识。例如,在对象的访问域名 examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com/doc/picture.jpg 中,对象键为 doc/picture.jpg
    String
    signValidTime
    设置签名有效期(单位为秒),注意这里是签名有效期,您需要自行保证密钥有效期
    Int
    signHost
    是否签入Header Host,不签可能导致请求失败或安全漏洞
    Bool
    parameters
    http请求参数,传入的请求参数需与实际请求相同,能够防止用户篡改此HTTP请求的参数
    Map

    返回结果说明

    成功:返回对象下载预签名链接。
    失败:发生错误(如身份认证失败),抛出异常 CosXmlClientException 或者 CosXmlServiceException。详情请参见 异常处理
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持