使用 腾讯云存储 做图床

事先声明这真的不是一个打广告的!!! 之前一直在找 图床 乱七八糟的也用了一些 反正不折腾不痛快 后来在 某运维哥 的安利下 用了腾讯云存储 还不错 可以有免费额度 反正够用了 拿来做图床都大材小用了 妥妥的 当然这些都是出卖个人信息换来的(反正在国内你的信息也不知道被出卖多少次了) 如果你介意的话只能自己找图床了 这里可以推荐一个国外的也蛮好用的 注册即可不需要别的什么鬼信息 链接 https://cloudinary.com/


注册使用

首先可以去官网注册并实名认证下 可以选择 微信 或者 QQ 一个身份证可以认证好几个账户 自己看吧 链接地址 https://cloud.tencent.com

在他们官网的 产品->存储->对象存储 中开通使用即可

下面是一个免费额度

资源类型 资源子类型 每月免费额度
存储空间 存储空间 50GB
流量 外网下行流量 10GB
流量 腾讯云 CDN 回源流量 10GB
请求 读请求 100万次
请求 写请求 100万次

进入操作台 对象存储控制台 创建容器 创建文件夹 上传文件 在文件详情中可以获取资源外链 一套傻瓜式操作 自己看吧

接口SDK使用

PHP版的接口说明在这里 https://cloud.tencent.com/document/product/436/12267

写的很详细了, 官网还有客户端工具 暂时还没使用过

安装 SDK

这里使用 composer 在需要的项目中执行

1
composer require qcloud/cos-sdk-v5

等待安装好即可

参数说明

APPID: 开发者访问 COS 服务时拥有的用户维度唯一资源标识,用以标识资源
SecretId: 开发者拥有的项目身份识别 ID,用以身份认证
SecretKey: 开发者拥有的项目身份密钥
Bucket: COS 中用于存储数据的容器
Region: 域名中的地域信息 如: ap-beijing, ap-hongkong, eu-frankfurt 等

测试使用

在测试类中引入 use Qcloud\Cos\Client as TencentCloudClient; 我这里作了个别名也可以不用

下面是一个简单的例子

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
//初始化 这里直接使用了env来拿参数 最好在配置个config取参数 这里只是测试随便写了
$cosClient = new TencentCloudClient([
'region' => env('COS_REGION'), #地域,如ap-guangzhou,ap-beijing-1
'credentials' => array(
'secretId' => env('COS_KEY'),
'secretKey' => env('COS_SECRET'),
),
]);
// 1.获取资源容器 buckets
$bucketList = $cosClient->listBuckets();
// 这里会获取到一个数组你的容器 也就是buckets 我只是取了第一个
$bucket = $bucketList['Buckets'][0]['Name'];
//2.文件流上传文件
try {
$key = 'testblog/earth.jpg';
$file = fopen(storage_path('app/public/').$key, 'rb');
$result = $cosClient->Upload($bucket, $key, $file);
echo "上传成功 文件url:".$result['Location'];
} catch (\Exception $exception) {
echo 'have some exception:'.$exception->getMessage();
}
// 3.删除文件
$key = 'testblog/test.png';
$deleteResult = $cosClient->deleteObject([
'Bucket' => $bucket,
'Key' => $key
]);
dd($deleteResult);

-------------The End-------------