**TP上传图片到七牛**
>[success]1. 配置文件
~~~
/* 七牛驱动相关 */
'QN_DRIVER_CONFIG' => array(
'accessKey' => '5Iprq5JAE6xWMYHZIBqSo9tW', //这里填七牛AK
'secretKey' => 'fdpk-KOxD6bpjNFE4pFf7I9', //这里填七牛SK
'domain' => 'ceshi.1gre.cn',//这里是查看七牛图片时的图片链接地址的域名
'bucket' => 'tiandaoedu-app'//这里是七牛中的空间
),
/* 七牛相关 */
'QN_CDN_URL' => 'https://ceshi.1gre.cn/',//七牛cdn加速域名
//头像前缀
'AVATAR_PREFIX' => 'User/Avatar',
//头像名
'AVATAR_FILE_NAME' => 'User_Avatar_{$user_id}.jpg',
~~~
>[success] 2. 接口控制器方法
~~~
/**
* 上传用户头像
*/
public function upload_pic() {
$uid = I('post.uid',0,'int'); //用户id
$uid = $uid ? $uid :$this->uid;
if (!$uid) {
json_error('20106',array('msg'=>C('ERR_CODE.20106')));
}
//图片相关的配置
$qn_info = array(
'maxSize' => 2*1024*1024,//文件大小
'rootPath' => './', //保存的根路径
'savePath' => '', //保存路径
'saveName' => "{$uid}",
'exts' => array('jpg', 'gif', 'png', 'jpeg'), // 允许上传的后缀
'autoSub' => true,
'replace' => true, //存在同名是否覆盖
'subName' => C("AVATAR_PREFIX"),
'saveExt' => 'jpg',
'driver' => 'Qiniu',
'driverConfig' => C('QN_DRIVER_CONFIG'),
);
$upload = new \Think\Upload($qn_info);
$info = $upload->upload($_FILES);
if(!$info) {
$file_name = str_replace('{$user_id}',$uid, C('AVATAR_FILE_NAME'));
$qn = new QiniuStorage(C("QN_DRIVER_CONFIG"));
$qn->del($file_name);//删除已存在文件
$info = $upload->upload($_FILES);
}
if($info){
$msg['pic_url']= str_replace("http","https",$info['file']['url'].'?v='.time());
json_success($msg);
}
json_error('20110', array('msg'=>C('ERR_CODE.20110')));
}
~~~