tp5 接入腾讯对象存储COS
以前写过一个接入阿里的OSS对象存储的,现在又简单写了个 腾讯COS对象存储。
这里只有COS使用方式,如果对接TP上传 可以去参考 :http://www.cnblogs.com/inkwhite/p/8582077.html
SDK 获取
1. GitHub
#在GitHub中获取代码<br /> https://github.com/tencentyun/cos-php-sdk-v5<br /><br />腾讯的参数比阿里的参数要多<br /><br />
appId 账户中心的 APPid<br /><br />SecretId 开发者拥有的项目身份识别 ID,用以身份认证
<em>secretKey 开发者拥有的项目身份密钥<br /></em>
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 '上传失败'; } }
相关推荐
ruanjiankaifa00 2020-01-10
wangquannuaa 2020-09-29
inabaraku 2020-06-12
liwenshui 2020-06-02
辛佳雨 2020-03-26
fylong 2020-03-23
hanyujianke 2020-03-06
一一空 2020-02-19
东哥笔记 2020-01-17
tlsmile 2019-12-27
lmseohy 2019-12-21
亦碎流年 2019-12-18
常言道 2019-12-17
zxshen 2019-11-18
徐建岗网络管理 2019-11-05
java的内存管理就是对象的分配和释放问题。但同时,它也加重了JVM的工作。因为,GC为了能够正确释放对象,GC必须监控每一个对象的运行状态,包括对象的申请、引用、被引用、赋值等,GC都需要进行监控。
kukelook 2019-10-24
SoarFly00 2018-08-15
leeknives 2017-09-25