tencent cloud

文档反馈

设置自定义头部

最后更新时间:2022-01-23 14:33:34

    简介

    本文档主要介绍 SDK 如何在请求时携带自定义头部。

    SDK API 参考

    SDK 所有接口的具体参数与方法说明,请参考 SDK API 参考

    功能说明

    COS 在上传对象时可以携带以 x-cos-meta- 开头的自定义头部,包括用户自定义元数据头部后缀和用户自定义元数据信息,这些头部将作为对象元数据保存。

    如果您开通了万象服务,可以携带 Pic-Operations 头部,实现后台自动图片处理,详细的 API 说明请参考 数据万象持久化

    示例代码

    // 存储桶region可以在COS控制台指定存储桶的概览页查看 https://console.intl.cloud.tencent.com/cos5/bucket/ ,关于地域的详情见 https://intl.cloud.tencent.com/document/product/436/6224
    String region = "ap-beijing"; // 您的存储桶地域
    String commonHeaderKey = "commonexamplekey"; // 自定义公共 Header 的键
    String commonHeaderValue = "commonexamplevalue"; // 自定义公共 Header 的值
    String requestHeaderKey = "requestexamplekey"; // 自定义请求 Header 的键
    String requestHeaderValue = "requestexamplevalue"; // 自定义请求 Header 的值
    CosXmlServiceConfig cosXmlServiceConfig = new CosXmlServiceConfig.Builder()
           .isHttps(true)
           .setRegion(region)
           .setDebuggable(false)
           // 给所有的请求添加公共的自定义 Header
           .addHeader(commonHeaderKey, commonHeaderValue)
           .builder();
    CosXmlService cosXmlService = new CosXmlService(context, cosXmlServiceConfig,
           credentialProvider);
    // 给单个请求添加自定义 Header,优先级比公共 Header 更高
    HeadObjectRequest headObjectRequest = new HeadObjectRequest(bucket, cosPath);
    try {
       headObjectRequest.setRequestHeaders(requestHeaderKey, requestHeaderValue, false);
    } catch (CosXmlClientException e) {
       e.printStackTrace();
    }
    // 发起请求
    cosXmlService.headObjectAsync(headObjectRequest, new CosXmlResultListener() {
       @Override
       public void onSuccess(CosXmlRequest request, CosXmlResult result) {
           HeadObjectResult headObjectResult = (HeadObjectResult) result;
       }
        @Override
       public void onFail(CosXmlRequest request, CosXmlClientException clientException,
                          CosXmlServiceException serviceException) {
           if (clientException != null) {
               clientException.printStackTrace();
           } else {
               serviceException.printStackTrace();
           }
       }
    });
    
    说明:

    更多完整示例,请前往 GitHub 查看。

    联系我们

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

    技术支持

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

    7x24 电话支持