<?php

namespace Admin\Controller;

use Think\Controller;

class CosController extends Controller {

      public function cosupload($src,$dst,$d=1){
          Vendor('COS5.vendor.autoload');

          $schema=C("cos_storage.schema")?:"https";

          $secretId = C("cos_storage.SecretId"); //"云 API 密钥 SecretId";
          $secretKey = C("cos_storage.SecretKey"); //"云 API 密钥 SecretKey";
          $region = C("cos_storage.domain"); //设置一个默认的存储桶地域
          $cosClient = new \Qcloud\Cos\Client(
                  array(
                          'region' => $region,
                          'schema' => $schema, //协议头部,默认为http
                          'credentials'=> array(
                          'secretId'  => $secretId ,
                          'secretKey' => $secretKey
                      )
                  )
          );


          $bucket = C("cos_storage.bucket"); //存储桶名称 格式:BucketName-APPID
          $key = $dst;
          $srcPath = $src;//本地文件绝对路径

          try {
              $result = $cosClient->Upload(
                      $bucket = $bucket,
                      $key = $key,
                      $body = fopen($srcPath, 'rb')
              );
              $location = $result['Location'];
              if(!preg_match('/^(http)|(https)/', $location)) {
                  $result['Location'] = 'https://' . $result['Location'];
              }
              return $result['Location'];
          } catch (\Exception $e) {
              $this->error($e->getMessage());
          }
    }


}