首先安裝阿里雲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']; }