tp5+腾讯云cos(对象存储)实现上传图片、视频等文件

一、从腾讯云控制台中开通cos
二、下载cos的sdk。SDK 安装有三种方式:Composer 方式、Phar 方式 和 源码方式
本章用的最笨的源码方式。
下载完成后解压放至TP5的第三方类库extend/下(感觉文件名太长可以将文件名改了我的就叫tengxunyun)
然后说下腾讯云cos的配置参数:

appid个人实名认证中获得

其中SecretId和SecretKey参数在腾讯云-》对象存储-》秘钥管理获得

bucket 参数可直接请求接口,也可同样在腾讯云-》对象存储-》存储桶列表直接创建

$region = config(‘tengxunyun_cos.endpoint’); //你的Bucket所有地域 例如上海 (ap-shanghai)写简称就可以
$appId = config(‘tengxunyun_cos.appId’); //账户中心的 APPid
$secretId = config(‘tengxunyun_cos.SecretId’); //开发者拥有的项目身份识别 ID
$secretKey = config(‘tengxunyun_cos.SecretKey’); //开发者拥有的项目身份密钥

    // 存储空间名称
	$bucket = config('tengxunyun_cos.bucket');        //COS中用于存储桶名称

其中region 地区在文档上也有介绍:

以下是对应的地区简称(了解就行):

//地域缩写
‘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’
简单的对象上传请求:
/**
* 腾讯云Cos – 上传对象
*
*
*
*/
private function qcloudCosUpload($file_name = ‘file’)
{

    require_once env('root_path').'extend'.DIRECTORY_SEPARATOR.'tenxunyun'.DIRECTORY_SEPARATOR.'vendor'.DIRECTORY_SEPARATOR.'autoload.php';
    
    
    $key =  upload($file_name);
    
    
    $region      = config('tengxunyun_cos.endpoint');
    $appId     = config('tengxunyun_cos.appId');
    $secretId  = config('tengxunyun_cos.SecretId');
    $secretKey = config('tengxunyun_cos.SecretKey');
    
    // 存储空间名称
	$bucket = config('tengxunyun_cos.bucket');

    // $secretId = "SECRETID"; //替换为用户的 secretId,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
    // $secretKey = "SECRETKEY"; //替换为用户的 secretKey,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
    // $region = "ap-beijing"; //替换为用户的 region,已创建桶归属的region可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket
    $cosClient = new \Qcloud\Cos\Client(       
  1. List item

//方法的路径一定要写对,否则一直报错,小编就调了两个小时
array(
‘region’ => $region,
‘schema’ => ‘https’, //协议头部,默认为http
‘credentials’=> array(
‘secretId’ => $secretId,
‘secretKey’ => $secretKey
)
)
);

    try { 
      $result = $cosClient->putObject(array( 
          'Bucket' => $bucket, //格式:BucketName-APPID 
          'Key' => $key['data'], 
          'Body' => fopen($key['img'], 'rb'),             //这里一定要填写正确,否则上传到cos的文件全是0kb
      )); 
      // 请求成功 
      if($result){
          unlink($key['img']);           //删除本地文件
          $resData['code'] = 200;
          $resData['data'] = "https://" . $result['Location'];;
          return $resData;
      }
    //   return $result;
    } catch (Exception $e) { 
      // 请求失败 
      
        $resData['code'] = 201;
        $resData['data'] = '';
        return $resData;
    //   echo($e); 
    }

}

至此,简单的上传对象就完成了,我从网上找了很多,后来自己琢磨出来的,希望对你有帮助!!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


学习编程是顺着互联网的发展潮流,是一件好事。新手如何学习编程?其实不难,不过在学习编程之前你得先了解你的目的是什么?这个很重要,因为目的决定你的发展方向、决定你的发展速度。
IT行业是什么工作做什么?IT行业的工作有:产品策划类、页面设计类、前端与移动、开发与测试、营销推广类、数据运营类、运营维护类、游戏相关类等,根据不同的分类下面有细分了不同的岗位。
女生学Java好就业吗?女生适合学Java编程吗?目前有不少女生学习Java开发,但要结合自身的情况,先了解自己适不适合去学习Java,不要盲目的选择不适合自己的Java培训班进行学习。只要肯下功夫钻研,多看、多想、多练
Can’t connect to local MySQL server through socket \'/var/lib/mysql/mysql.sock问题 1.进入mysql路径
oracle基本命令 一、登录操作 1.管理员登录 # 管理员登录 sqlplus / as sysdba 2.普通用户登录
一、背景 因为项目中需要通北京网络,所以需要连vpn,但是服务器有时候会断掉,所以写个shell脚本每五分钟去判断是否连接,于是就有下面的shell脚本。
BETWEEN 操作符选取介于两个值之间的数据范围内的值。这些值可以是数值、文本或者日期。
假如你已经使用过苹果开发者中心上架app,你肯定知道在苹果开发者中心的web界面,无法直接提交ipa文件,而是需要使用第三方工具,将ipa文件上传到构建版本,开...
下面的 SQL 语句指定了两个别名,一个是 name 列的别名,一个是 country 列的别名。**提示:**如果列名称包含空格,要求使用双引号或方括号:
在使用H5混合开发的app打包后,需要将ipa文件上传到appstore进行发布,就需要去苹果开发者中心进行发布。​
+----+--------------+---------------------------+-------+---------+
数组的声明并不是声明一个个单独的变量,比如 number0、number1、...、number99,而是声明一个数组变量,比如 numbers,然后使用 nu...
第一步:到appuploader官网下载辅助工具和iCloud驱动,使用前面创建的AppID登录。
如需删除表中的列,请使用下面的语法(请注意,某些数据库系统不允许这种在数据库表中删除列的方式):
前不久在制作win11pe,制作了一版,1.26GB,太大了,不满意,想再裁剪下,发现这次dism mount正常,commit或discard巨慢,以前都很快...
赛门铁克各个版本概览:https://knowledge.broadcom.com/external/article?legacyId=tech163829
实测Python 3.6.6用pip 21.3.1,再高就报错了,Python 3.10.7用pip 22.3.1是可以的
Broadcom Corporation (博通公司,股票代号AVGO)是全球领先的有线和无线通信半导体公司。其产品实现向家庭、 办公室和移动环境以及在这些环境...
发现个问题,server2016上安装了c4d这些版本,低版本的正常显示窗格,但红色圈出的高版本c4d打开后不显示窗格,
TAT:https://cloud.tencent.com/document/product/1340