view(); } public function upload(){ if(!isset($_FILES['file']))return json(['code'=>-1, 'msg'=>'请选择文件']); $filepath = $_FILES["file"]["tmp_name"]; $filename = $_FILES["file"]["name"]; if($_FILES['file']['error']>0 || $filepath == ""){ return json(['code'=>-1, 'msg'=>'文件损坏!']); } if($_FILES['file']['size']>10*1024*1024){ return json(['code'=>-1, 'msg'=>'文件最大10M']); } $apitype = input('?post.apitype')?input('post.apitype'):'qq'; $classname = 'plugin\\utility\\imghosting\\api\\'.$apitype; if(class_exists($classname)){ $instance = new $classname(); try{ $result = $instance->upload($filepath, $filename); Db::name('uploadlog')->insert([ 'uid' => request()->islogin ? request()->user['id'] : 0, 'type' => 'image', 'source' => $apitype, 'filename' => $filename, 'fileurl' => $result['url'], 'ip' => $this->clientip, 'addtime' => date("Y-m-d H:i:s") ]); return json(['code'=>0, 'msg'=>'success', 'data'=>$result]); }catch(Exception $e){ return json(['code'=>-1, 'msg'=>$e->getMessage()]); } }else{ return json(['code'=>-1, 'msg'=>'该上传类型不存在']); } } public function uploadurl(){ exit; $url = input('post.url'); if(!$url) return json(['code'=>-1, 'msg'=>'no url']); $apitype = input('?post.apitype')?input('post.apitype'):'qq'; $file_data = get_curl($url); if(!$file_data) return json(['code'=>-1, 'msg'=>'获取图片数据失败']); $filepath = tempnam(sys_get_temp_dir(), 'IMG'); file_put_contents($filepath, $file_data); $filename = time().'.jpg'; $classname = 'plugin\\utility\\imghosting\\api\\'.$apitype; if(class_exists($classname)){ $instance = new $classname(); try{ $result = $instance->upload($filepath, $filename); unlink($filepath); Db::name('uploadlog')->insert([ 'uid' => request()->islogin ? request()->user['id'] : 0, 'type' => 'image', 'source' => $apitype, 'filename' => $filename, 'fileurl' => $result['url'], 'ip' => $this->clientip, 'addtime' => date("Y-m-d H:i:s") ]); return json(['code'=>0, 'msg'=>'success', 'data'=>$result]); }catch(Exception $e){ unlink($filepath); return json(['code'=>-1, 'msg'=>$e->getMessage()]); } }else{ unlink($filepath); return json(['code'=>-1, 'msg'=>'该上传类型不存在']); } } }