腾讯云存储对象服务开发小结

1、开发准备

1.1、腾讯云对象存储术语
名称说明
APPID开发者访问 COS 服务时拥有的用户维度唯一资源标识,用以标识资源
SecretId开发者拥有的项目身份识别 ID,用以身份认证
SecretKey开发者拥有的项目身份密钥
BucketCOS 中用于存储数据的容器
Region域名中的地域信息。枚举值参见 可用地域 文档,如:ap-beijing, ap-hongkong, eu-frankfurt 等
1.2、将腾讯官方提供的PHP SDK引入到项目中
composer require qcloud/cos-sdk-v5

2、开始开发

2.1、配置.env
COS_REGION=ap-shanghai
COS_KEY=xxx
COS_SECRET=xxx
COS_BUCKET=xxx
COS_APPID=xxx
2.2、使用PHP SDK中提供的对象存储客户端类
use Qcloud\Cos\Client;
2.3、初始化客户端对象
$cosClient = new Client(['region' => env('COS_REGION'),
    'credentials' => ['secretId' => env('COS_KEY'), 'secretKey' => env('COS_SECRET')]]);
2.4、简单文件上传
  • 常用请求参数说明
参数名称描述
BucketBucket 名称,由数字和小写字母以及中划线 "-" 构成
Body上传文件的内容,可以为文件流或字节流
Key对象键(Key)是对象在存储桶中的唯一标识。例如,在对象的访问域名 bucket1-1250000000.cos.ap-guangzhou.myqcloud.com/doc1/pic1.jpg 中,对象键为 doc1/pic1.jpg
ACL设置文件的 ACL,如 'private,public-read','public-read-write'
  • 请求示例
try {
    $result = $cosClient->putObject([
        'Bucket' => env('COS_BUCKET') . '-' . env('COS_APPID'),
        'Key' => 'activity/worldcup/123.jpg',
        'Body' => fopen('./res/activity/worldcup/123.jpg', 'rb')]);

    $result = $result->toArray();
    return ['code' => 0, 'msg' => '上传成功', 'data' => urldecode($result['ObjectURL'])];
} catch (\Exception $e) {
    return ['code' => 1, 'msg' => $e->getMessage()];
}
  • 返回说明

该接口返回的是 Guzzle\Service\Resource\Model 对象,可以使用其提供的方法 toArray() 将返回结果转化为数组。

  • 注意事项

如果该接口上传时传入的 key 已存在,则会覆盖。

3、结束

3.1、PHP SDK 中的其他接口
接口名称请求方法
获取 Bucket 列表$cosClient->listBuckets();
创建 Bucket$cosClient->createBucket(['Bucket' => 'testbucket-' . env('COS_APPID')]);
删除 Bucket$cosClient->deleteBucket(['Bucket' => 'testbucket-' . env('COS_APPID')]);
删除文件$cosClient->deleteObject(['Bucket' => 'testbucket-' . env('COS_APPID'), 'Key' => 'activity/worldcup/123.jpg']);
......
3.2、官方 PHP SDK 文档地址
https://cloud.tencent.com/document/product/436/12266

转载于:https://my.oschina.net/zobeen/blog/2249404

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值