还是直接说流程引代码:
我用的是php开发,然后下载了这个sdk,https://github.com/tencentyun/cos-php-sdk-v5/releases
然后接着在腾讯云上复制粘贴,我就直接展示我写好的.因为很简单,今天讲的也不是腾讯云cos的使用,而是在fastadmin中的使用
require '../extend/cos/vendor/autoload.php'; //tp5用这个
$secretId = "填写你的SecretId"; //"云 API 密钥 SecretId";
$secretKey = "填写你的SecretKey"; //"云 API 密钥 SecretKey";
$region = "填写你的存储桶地域"; //设置一个默认的存储桶地域
$cosClient = new \Qcloud\Cos\Client(
array(
'region' => $region,
'schema' => 'https', //协议头部,默认为http,本地测试要用http
'credentials'=> array(
'secretId' => $secretId ,
'secretKey' => $secretKey)));
//print_r($cosClient); 打印存储桶对象
$local_path = ROOT_PATH .'public/uploads/202004/07/1.jpg';//本地文件绝对路径
try {
$result = $cosClient->putObject(array(
'Bucket' => '你的存储桶名称', //格式:BucketName-APPID
'Key' => 'upload/6.jpg', //腾讯云存储路径,意思是upload目录下的6.jpg
'Body' => fopen($local_path, 'rb'), //图片文件
));
// 请求成功
print_r($result);
} catch (\Exception $e) {
// 请求失败
echo($e);
}
然后开始跑代码,配置信息没填错的话,就能看到如下图的返回信息,
同时,腾讯云存储桶也能看到上传的图片信息,一般的朋友到这就结束了.后面就是fastadmin的坑了
接着我上传到线上,fastadmin项目,出现的这个错误让我一脸懵逼
第一反应就是去找这个方法,phpstrom的全局查找还是挺方便的
然后我去报错我页面用了一下phpstrom 的ctrl+左键,可以跳转到_idn_uri_convert()函数,这又是怎么回事?难道require的姿势不对?后面我试了import,loader函数,甚至composer安装了一遍(composer将sdk安装到了根目录的vendor下),还是不行.最后在删除vendor里面的sdk时发现了一个眼熟的包
我把extend下面的包也打开,对比一下
顿时灵光一现,vendor里面也加载了???然后打开vendor里面的functions.php,看它里面有没有_idn_uri_convert()
行,它删了,我们再加上.再跑一下线上代码,熟悉的画面
至此,终于结束了,找了两天,哈哈哈.有问题欢迎留言