tp5 接入腾讯对象存储COS

匿名 (未验证) 提交于 2019-12-02 22:11:45

以前写过一个接入阿里的OSS对象存储的,现在又简单写了个 腾讯COS对象存储。

这里只有COS使用方式,如果对接TP上传 可以去参考 :http://www.cnblogs.com/inkwhite/p/8582077.html

SDK 获取

1. GitHub

#在GitHub中获取代码 https://github.com/tencentyun/cos-php-sdk-v5腾讯的参数比阿里的参数要多

appId  账户中心的 APPidSecretId 开发者拥有的项目身份识别 ID,用以身份认证
secretKey 开发者拥有的项目身份密钥
region 你的Bucket所有地域 例如上海 (sh)写简称就可以
bucket  COS中用于存储数据的容器
Key  你文件上传的文件名称  (例:20180818/xxx.jpg)  注意路径 "/" window下的是 "\" 这样的话上传上去不会自动创建文件夹。
file 你要上传的本地文件地址
请求错误码:https://cloud.tencent.com/document/product/436/7730
'cn-east'=>'ap-shanghai', 'cn-sorth'=>'ap-guangzhou', 'cn-north'=>'ap-beijing-1', 'cn-south-2'=>'ap-guangzhou-2', 'cn-southwest'=>'ap-chengdu', 'sg'=>'ap-singapore', 'tj'=>'ap-beijing-1', 'bj'=>'ap-beijing', 'sh'=>'ap-shanghai', 'gz'=>'ap-guangzhou', 'cd'=>'ap-chengdu', 'sgp'=>'ap-singapore'

/**      * 腾讯对象存储-文件上传      * @datatime 2018/05/17 09:20      * @author lgp      */     public function qcloudCosUpload( $file = '' , $info = array() , $fileInfo  ){         if( !$file  || !$info ){             return '缺少参数';         }         //引用COS sdk         \think\Loader::import('qcloud.cos-sdk-v5.cos-autoloader');          $cosClient = new \Qcloud\Cos\Client(             array(                 'region'      => config('QCLOUD_COS.region'),                 'credentials' => array(                     'appId'     => config('QCLOUD_COS.appId'),                     'secretId'  => config('QCLOUD_COS.SecretId'),                     'secretKey' => config('QCLOUD_COS.SecretKey')                 )             )         );         $file = $info['pathname'];         try {             $data = array( 'Bucket' => config('QCLOUD_COS.bucket'), 'Key'  => $info['saveName'], 'Body' => fopen($file, 'rb') );             //判断文件大小 大于5M就分块上传             $result = $cosClient->Upload( $data['Bucket'] , $data['Key'] , $data['Body']  );              //上传成功,自己编码             if( $result ){                 if( config('QCLOUD_COS.unlink_file') == 1){                     //是否删除本地                     //unlink($file);                 }                 return 'ok';             }         } catch (\Exception $e) {             echo "$e\n";die;             return '上传失败';         }      }

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!