laravel 七牛 上传文件配置

来源:互联网 发布:库克 乔布斯 知乎 编辑:程序博客网 时间:2024/05/24 04:28

安装七牛sdk

七牛官方sdk安装传送门 http://developer.qiniu.com/code/v7/sdk/php.html

config目录下 创建qiniu.php

return [    'accessKey'=>'你的accesskey',    'secretKey'=>'你的secretKey',    'bucket'=>'vrvideo',//上传空间名称    'domain'=>'http://qiniu.com'//地址];

创建控制器uploadController

namespace App\Http\Controllers;use App\Http\Controllers\Auth\JsonEcho;use Illuminate\Http\Request;//导入七牛相关类use Qiniu\Auth;use Qiniu\Storage\UploadManager;class UploadController extends Controller{    /**    *上传凭证    */    public function getToken($buckets){        $accessKey=config("qiniu.accessKey");        $secretKey=config("qiniu.secretKey");        $auth=new Auth($accessKey, $secretKey);        $bucket=$buckets;//上传空间名称        return $auth->uploadToken($bucket);//生成token    }     /**     * 七牛文件上传     */    public function upload($file,$backets){        $token=$this->getToken($backets);        $uploadManager=new UploadManager();        $type = $file->getMimeType();        $filePath = $file->getRealPath();        $name = md5(time().rand(1,9999));        list($ret,$err)=$uploadManager->putFile($token,$name,$filePath,null,$type,false);        if($err){//上传失败            return false;        }else{//成功            return $ret['key'];        }    }/***app调用接口 token*/public function qiniu(){     $json = new JsonEcho();     $result = $this->getToken('vrvideo');     return $json->json_echo(1,'七牛token',$result); }}

其它控制器调用

 $upload = new UploadController();  if($upload->upload($res->file('headimg'),'imgbucket') == false){        return $json->json_echo(0,'头像上传失败');    }else{        $imgurl = $upload->upload($res->file('headimg'),'imgbucket');        //把图片插入数据库end}
0 0
原创粉丝点击