Yii 2.0 如何使用阿里云 oos 云对象储存 [ 2.0 版本 ]
string(839) "
<?xml version="1.0" encoding="UTF-8"?>
<Error>
<Code>SignatureDoesNotMatch</Code>
<Message>The request signature we calculated does not match the signature you provided. Check your key and signing method.</Message>
<RequestId>5C29C55EC3FACB632FB62E38</RequestId>
<HostId>huadianren-article-images.oss-cn-beijing.aliyuncs.com</HostId>
<OSSAccessKeyId>LTAI6HSrq5rl0Vml</OSSAccessKeyId>
<SignatureProvided>E566y03g5qbQna3nn+UjKViJiHk=</SignatureProvided>
<StringToSign>PUT
image/jpeg
Mon, 31 Dec 2018 07:29:37 GMT
/huadianren-article-images/</StringToSign>
<StringToSignBytes>50 55 54 0A 0A 69 6D 61 67 65 2F 6A 70 65 67 0A 4D 6F 6E 2C 20 33 31 20 44 65 63 20 32 30 31 38 20 30 37 3A 32 39 3A 33 37 20 47 4D 54 0A 2F 68 75 61 64 69 61 6E 72 65 6E 2D 61 72 74 69 63 6C 65 2D 69 6D 61 67 65 73 2F </StringToSignBytes>
</Error>
小派er 补充于 2018-12-31 16:15
希望可给提供 yii内的oos-skd包,以及实例代码。
最佳答案
-
- 实例化OSS类,并调用uploadFile()
/**- @param $ossName .OSS图片对应名字 可以对应文件路径
- @param $localImg .本地图片 路径、我这里是先上传至服务器。服务器绝对路径上传至OSS 成功后删除服务器图片
- @return array
- @throws \OSS\Core\OssException
*/
public function UploadOss($ossName,$localImg)
{
$oss = new \aliyuncs\yii2aliyunoss\Oss();#重要
$res = $oss->uploadFile($ossName,$localImg);
if($res['info']['http_code'] != 200){return ['errcode'=>'fail','errmsg'=>'上传失败'];
}
return ['errcode'=>'ok','errmsg'=>'上传成功!'];
}
- 修改Vendor/yiisoft/extensions.php
最后加入 oss声明别名
'aliyuncs/oss-sdk-php' =>array ( 'name' => 'aliyuncs/oss-sdk-php', 'version' => '0.1.0.0', 'alias' => array ( '@aliyuncs/yii2aliyunoss' => $vendorDir . '/aliyuncs/oss-sdk-php', ), ),
3.OSS文件 我解压了 你直接压缩至vendor目录即可
aliyuncs.zip
4.配置对应config
'oss' => ['accessKeyId' => '', // ID 'accessKeySecret' => '', //key 'bucket' => '', //OSS对象 'endPoint' => 'http://oss-cn-beijing.aliyuncs.com', //服务器对应地址
],
青山淼淼 觉得很赞 - 实例化OSS类,并调用uploadFile()
其他 2 个回答
小派er Zhengzhou
注册时间:2018-12-20
最后登录:2019-01-24
在线时长:2小时34分
最后登录:2019-01-24
在线时长:2小时34分
- 粉丝0
- 金钱5
- 威望0
- 积分25