getPresignedUrl.php 1.6 KB
<?php

require dirname(__FILE__, 2) . '/vendor/autoload.php';

$secretId = "SECRETID"; //替换为用户的 secretId,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
$secretKey = "SECRETKEY"; //替换为用户的 secretKey,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
$region = "ap-beijing"; //替换为用户的 region,已创建桶归属的region可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket
$cosClient = new Qcloud\Cos\Client(
    array(
        'region' => $region,
        'scheme' => 'https', //协议头部,默认为http
        'credentials'=> array(
            'secretId'  => $secretId,
            'secretKey' => $secretKey)));
try {
    $signedUrl = $cosClient->getPresignedUrl(
                                $method='getObject',
                                $args=array(
                                    'Bucket'=>'examplebucket-1250000000', //存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucket
                                    'Key'=>'exampleobject',
                                    'Body'=>'',
                                    'Params'=>array(),
                                    'Headers'=>array()), //若上传加入headers,content-md5写法为"content-md5" => base64_encode( md5( Body, true ) )
                                $expires='+30 minutes');
    // 请求成功
    echo($signedUrl);
} catch (\Exception $e) {
    // 请求失败
    echo($e);
}