首先安装阿里云oss扩展:
composer require aliyuncs/oss-sdk-php
如果这个安装不上可以直接下载SDK的包:
链接:https://pan.baidu.com/s/1QD0O2e55CHylGQjoWHXEJQ 提取码:q4m6
下载解压后重命名为aliyun-oss放到extend目录下然后
在你的config文件中加入以下配置:
return [ \'KeyId\' => \'\', //Access Key ID \'KeySecret\' => \'\', //Access Key Secret \'Endpoint\' => \'\', //阿里云oss 外网地址endpoint \'Bucket\' => \'\', //Bucket名称 ];
接下来就是上传的方法了:记得在控制器中引用哦:
use OSS\OssClient; use OSS\Core\OssException;
上代码:
public function uploadFile() { $file= request()->file(\'icon\'); $resResult = Image::open($file); $type = $resResult->type(); // 尝试执行 try { $accessKeyId = config(\'aliyun_oss.accessKeyId\');//去阿里云后台获取秘钥 $accessKeySecret = config(\'aliyun_oss.accessKeySecret\');//去阿里云后台获取秘钥 $endpoint = config(\'aliyun_oss.endpoint\');//你的阿里云OSS地址 $bucket = config(\'aliyun_oss.bucket\');//你的阿里云OSS地址 //实例化对象 将配置传入 $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint); //这里是有sha1加密 生成文件名 之后连接上后缀 $fileName = sha1(date(\'YmdHis\', time()) . uniqid()) . \'.\' . $type; //上传至阿里云的目录 为年+月/日的格式 $pathName = date(\'Y-m/d\') . \'/\' .$fileName; //执行阿里云上传 bucket名称,上传的目录,文件 $result = $ossClient->uploadFile($bucket, $pathName, $file->getInfo()[\'tmp_name\']); } catch (OssException $e) { return $e->getMessage(); } //将结果输出 return $result[\'info\'][\'url\']; }