zoukankan      html  css  js  c++  java
  • tp5 接入腾讯对象存储COS

    以前写过一个接入阿里的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  账户中心的 APPid

    SecretId 开发者拥有的项目身份识别 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'

     thinkphp引用第三方类库

     SDK 放在 根目录下/extend/

    我的路径/extend/qcloud/cos-sdk-v5

     //引用COS sdk
     	hinkLoader::import('qcloud.cos-sdk-v5.cos-autoloader'); 
    /**
         * 腾讯对象存储-文件上传
         * @datatime 2018/05/17 09:20
         * @author lgp
         */
        public function qcloudCosUpload( $file = '' , $info = array() , $fileInfo  ){
            if( !$file  || !$info ){
                return '缺少参数';
            }
            //引用COS sdk
            	hinkLoader::import('qcloud.cos-sdk-v5.cos-autoloader'); 
            $cosClient = new QcloudCosClient(
                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
    ";die;
                return '上传失败';
            }
    
        }

  • 相关阅读:
    datetime模块
    python正则表达式练习题
    Python入门——turtle库的使用
    Python入门——Python程序语法元素
    Python入门——eval() 函数
    Python入门——实例1_温度转换
    Python入门——编程方式
    Python入门——程序的基本编写方法
    Python入门——编译和解释
    SQL中isnull、ifnull和nullif函数用法
  • 原文地址:https://www.cnblogs.com/inkwhite/p/9057339.html
Copyright © 2011-2022 走看看