composer安装腾讯云SDK:
composer qcloud/cos-sdk-v5
使用thinkphp内置上传方法:
$file = request()->file('image');
新建一个php文件,创建函数,参数就是之前上传得到的$file
public function upload($file) {
$secretId = "xxx"; //替换为用户的 secretId,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
$secretKey = "xxx"; //替换为用户的 secretKey,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
$region = "xxx"; //替换为用户的 region,已创建桶归属的region可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket
$cosClient = new Client(
array(
'region' => $region,
'schema' => 'http', //协议头部,默认为http
'credentials'=> array(
'secretId' => $secretId ,
'secretKey' => $secretKey
)
)
);
$fileInfo = $file->getInfo();
$fileName = $fileInfo['name'];
$bucket = 'xxx'; //存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucket
$key = time().'-'.$fileName; //此处的 key 为对象键
try {
$result = $cosClient->putObject(
array(
'Bucket' => $bucket,
'Key' => $key,
'Body' => $file
)
);
// 请求成功
return $result;
} catch (\Exception $e) {
// 请求失败
return null;
}
}