因项目需要,本来是需要对接阿里云oss,但因客户错误将云存储买成腾讯云cos,因此简单做了个对象上传使用

首先下载cos的sdk:

三种方式在文档上面都有介绍

SDK 安装有三种方式:Composer 方式Phar 方式 和 源码方式

本渣用的是最low 的源码方式

下载完成后解压放至TP5的第三方类库extend/下(感觉文件名太长本渣将解压后的sdk文件名改为了sdk):

然后说下腾讯云cos的配置参数:

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

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

return [
'QCLOUD' => [
'appId' => '******', //账户中心的 APPid
'SecretId' => '******', //开发者拥有的项目身份识别 ID
'SecretKey' => '******', //开发者拥有的项目身份密钥
'region' => 'bj', //你的Bucket所有地域 例如上海 (sh)写简称就可以
'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'

最后就是简单的对象上传请求了

SDK 放在 根目录下/extend/

我的路径/extend/sdk

其中

saveName 是你文件上传的文件名称 注意路径 "/" window下的是 "\" 这样的话上传上去不会自动创建文件夹。

pathname 你要上传的本地文件地址

    /**
* 腾讯云Cos -- 上传对象
*/
function qcloudCosUpload($file = '' , $info = array() , $fileInfo)
{
if( !$file || !$info ){
return json_error('缺失参数 ');
}
//引用COS sdk
\think\Loader::import('sdk.vendor.autoload');
$cosClient = new \Qcloud\Cos\Client(
array(
'region' => config('QCLOUD.region'),
'credentials' => array(
'appId' => config('QCLOUD.appId'),
'secretId' => config('QCLOUD.SecretId'),
'secretKey' => config('QCLOUD.SecretKey')
)
)
);
$file = $info['pathname'];
try {
$data = array( 'Bucket' => config('QCLOUD.bucket'), 'Key' => $info['saveName'], 'Body' => fopen($file, 'rb') );
//判断文件大小 大于5M就分块上传
$result = $cosClient->Upload( $data['Bucket'] , $data['Key'] , $data['Body'] ); if( $result ){
return $result;
}
} catch (\Exception $e) {
return json_error('上传失败 ');
} }

至此,简单的上传对象即已完成。

感谢您的查看。

本文主要借鉴于:https://www.cnblogs.com/inkwhite/p/9057339.html

再次感谢墨白`Blog 大大的博客分享。

2019年05月09日

tp5 -- 腾讯云cos简单使用的更多相关文章

  1. PHP 腾讯云cos使用之我见

    因为某些人的原因,本文从新改名发布一遍. 原名称:tp5 -- 腾讯云cos简单使用 原文链接:https://www.cnblogs.com/YFYQ/p/10840050.html 因项目需要,本 ...

  2. 腾讯云COS对象存储的简单使用

    叮当哥之前买了一年的腾讯云服务器,昨日偶然发现腾讯云送了叮当哥半年的cos对象存储服务器,于是就撸起袖子传了几张珍藏的高清大图上去,现将其上传的简单使用步骤总结一波(其它操作参加官方SDK文档API) ...

  3. Go操作腾讯云COS对象存储的简单使用案例

    准备环境 安装Go环境 Golang:用于下载和安装 Go 编译运行环境,请前往 Golang 官网进行下载 安装SDK go get -u github.com/tencentyun/cos-go- ...

  4. 微信小程序/网站 上传图片到腾讯云COS

    COS简介: 腾讯云提供的一种对象存储服务,供开发者存储海量文件的分布式存储服务.可以将自己开发的应用的存储部分全部接入COS的存储桶中,有效减少应用服务器的带宽,请求等.个人也可以通过腾讯云账号免费 ...

  5. 利用腾讯云COS云对象存储定时远程备份网站

    版权声明:本文由张戈 原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/942851001487125915 来源:腾云阁 h ...

  6. Nginx反向代理腾讯云COS的一个坑

    版权声明:本文由黄希彤   原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/668639001484812620 来源:腾云 ...

  7. 搭建markdown图床-腾讯云COS

    背景介绍 书写markdown笔记时,如何处理图片,实在是有些棘手的问题.每一张图都保存在当前文件夹? 每张图都自己重命名?每次上传到cnblogs博客都需要一张一张拖动?markdown已经非常成功 ...

  8. 腾讯云COS对象存储占据数据容灾C位

    说到公有云容灾,大家首先想到的是云上数据备份. 然而,随着企业核心业务逐渐从线下迁移到云上,客户提出了更高的要求.如何确保云上业务的高可用.数据的高可靠,这对云厂商提出了新的挑战. 腾讯云作为全球领先 ...

  9. 腾讯云COS体验

    其实这篇文章本来是推荐COS的,写了一半发现COS的免费额度取消了,2019年之后的开通的用户免费6个月,老用户不受影响,这还让我怎么推荐啊?!写都写了,删掉岂不是白浪费时间? 都怪你!腾讯云! 起因 ...

随机推荐

  1. CodeForces660B【模拟—水】

    感觉模拟题用函数分块写比较清晰~传参的话,字符串要么直接全局,或者指针也是容易操作,总之思路清晰,然后分块清晰,模拟wa的少吧. 这题水题,不说了. #include <bits/stdc++. ...

  2. P4593 [TJOI2018]教科书般的亵渎(拉格朗日插值)

    传送门 首先所有亵渎的张数\(k=m+1\),我们考虑每一次使用亵渎,都是一堆\(i^k\)之和减去那几个没有出现过的\(j^k\),对于没有出现过的我们可以直接快速幂处理并减去,所以现在的问题就是如 ...

  3. [Xcode 实际操作]九、实用进阶-(23)多个Storyboard故事板中的页面跳转

    目录:[Swift]Xcode实际操作 本文将演示多个Storyboard故事板中的页面跳转. 使用快捷键[Command]+[N]创建一个新的故事板文件. (在项目文件夹[DemoApp]上点击鼠标 ...

  4. Integrative Analysis of MicroRNAome, Transcriptome, and Proteome during the Limb Regeneration of Cynops orientalis (文献分享一组-翁海玉)

    文献名:Integrative Analysis of MicroRNAome, Transcriptome, and Proteome during the Limb Regeneration of ...

  5. MQ简介1

    站在巨人的肩膀上 关于消息队列的使用 一.消息队列概述消息队列中间件是分布式系统中重要的组件,主要解决应用解耦,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构.目前使用较多的消息 ...

  6. 采集-telegraf

    1 介绍 Telegraf是一款Go语言编写的metrics收集.处理.聚合的代理其设计目标是较小的内存使用,通过插件来构建各种服务和第三方组件的metrics收集Telegraf由4个独立的插件驱动 ...

  7. 牛客寒假6-B.煤气灶

    链接:https://ac.nowcoder.com/acm/contest/332/B 题意: 小j开始打工,准备赚钱买煤气灶. 第一天,小j的工资为n元,之后每天他的工资都比前一天多d元. 已知煤 ...

  8. 类加载机制 + Classloader.loadClass(String name)和Class.forName(String name)

    Classloader.loadClass(String name)和Class.forName(String name)的区别 Java的类在jvm中的加载大致分为加载,链接或者叫link(里面包含 ...

  9. arcengine geometry union操作

    以前得到的结果老是某一个,用下面的方法就可以获取合并后的结果 IGeometry pUnionGeo = null; var bFirst = true; foreach (IGeometry pGe ...

  10. android开发学习 ------- 【转】 android事件分发机制 和 自定义view涉及的事件分发

    参考  https://blog.csdn.net/carson_ho/article/details/54136311   ,写的很完美,原理入门的一篇博客,看这一篇就够了 https://www. ...