tp5.0整合七牛云图片上传

时间:2022-10-17 07:29:36

这里以上传图片为例 上传其他文件也是大同小异

使用composer安装gmars/tp5-qiniu

安装成功则在vendor目录下多出一个目录 这个目录含有整合七牛云的所有类包等文件

tp5.0整合七牛云图片上传

控制器中添加upload方法

    public function upload() {
if(request()->isPost()) {
$qiniu
= new \gmars\qiniu\Qiniu('你的ak','你的sk','文件夹目录名称');
$result
= $qiniu->upload();
if($result === false) {
return json(['status'=>'-1','msg'=>"上传失败"]);
}
else {
return json(['status'=>'0','msg'=>"上传成功"]);
}
}
else {
return $this->fetch();
}
}

修改以下文件

tp5.0整合七牛云图片上传

修改79行开始的几处代码

    public function upload($saveName = '', $bucket = '')
{
$token
= $this->_getUploadToken($bucket);

$files
= $_FILES;
if (empty($files)) {
throw new Exception('没有文件被上传', 10002);
}
$values
= array_values($files);

$uploadManager
= new UploadManager();
if (empty($saveName)) {
// 定义文件存储名称 以上传时的时间戳为文件名
$saveName = time().strrchr($values[0]['name'],'.');
}
$infoArr
= explode('.', $values[0]['name']);
$extension
= array_pop($infoArr);
$fileInfo
= $saveName . '.' . $extension;
list($ret, $err)
= $uploadManager->putFile($token, $saveName, $values[0]['tmp_name']);
if ($err !== null) {
// 上传失败
return false;
}
// 上传成功返回文件名
return $ret['key'];
}