安装七牛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
}