| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 | 
							- <?php
 
- namespace app\api\controller;
 
- use app\common\controller\Api;
 
- /**
 
-  * 上传接口
 
-  */
 
- class Upload extends Api
 
- {
 
-     protected $noNeedLogin = [''];
 
-     protected $noNeedRight = ['*'];
 
-     /**
 
-      * 上传文件到腾讯cos获取临时密钥
 
-      */
 
-     public function uploadToCloud() {
 
-         require_once VENDOR_PATH . 'qcloud/src/Sts.php';
 
-         require_once VENDOR_PATH . 'qcloud/src/Scope.php';
 
-         $sts = new \Sts();
 
-         $config = array(
 
-             'url' => 'https://sts.tencentcloudapi.com/',
 
-             'domain' => 'sts.tencentcloudapi.com',
 
-             'proxy' => '',
 
-             'secretId' => config("cos")["secretId"], // 固定密钥
 
-             'secretKey' => config("cos")["secretKey"], // 固定密钥
 
-             'bucket' => config("cos")["bucket"], // 换成你的 bucket
 
-             'region' => config("cos")["region"], // 换成 bucket 所在园区
 
-             'durationSeconds' => config("cos")["durationSeconds"], // 密钥有效期
 
-             'allowPrefix' => config("cos")["allowPrefix"], // 这里改成允许的路径前缀,可以根据自己网站的用户登录态判断允许上传的具体路径,例子: a.jpg 或者 a/* 或者 * (使用通配符*存在重大安全风险, 请谨慎评估使用)
 
-             // 密钥的权限列表。简单上传和分片需要以下的权限,其他权限列表请看 https://cloud.tencent.com/document/product/436/31923
 
-             'allowActions' => array (
 
-                 // 简单上传
 
-                 'name/cos:PutObject',
 
-                 'name/cos:PostObject',
 
-                 // 分片上传
 
-                 'name/cos:InitiateMultipartUpload',
 
-                 'name/cos:ListMultipartUploads',
 
-                 'name/cos:ListParts',
 
-                 'name/cos:UploadPart',
 
-                 'name/cos:CompleteMultipartUpload',
 
-                 // 下载
 
-                 'name/cos:GetObject'
 
-             )
 
-         );
 
-         // 获取临时密钥,计算签名
 
-         $tempKeys = $sts->getTempKeys($config);
 
-         $this->success("获取成功!",$tempKeys);
 
-     }
 
- }
 
 
  |