'uploadimage', 'imageFieldName' => 'upfilesss', 'imageMaxSize' => 10485760, /* 上传大小限制,单位B */ 'imageAllowFiles' => ['.png', '.jpg', '.jpeg', '.gif', '.bmp'], 'imageCompressEnable' => false, // 图片压缩功能true开启,false关闭 'imageCompressBorder' => 1600, 'imageInsertAlign' => 'none', 'imageUrlPrefix' => '', 'imagePathFormat' => '', /* 涂鸦图片上传配置项 */ 'scrawlActionName' => 'uploadscrawl', 'scrawlFieldName' => 'upfile', 'scrawlPathFormat' => '', 'scrawlMaxSize' => 0, 'scrawlUrlPrefix' => '', 'scrawlInsertAlign' => 'none', /* 截图工具上传 */ 'snapscreenActionName' => 'uploadimage', 'snapscreenPathFormat' => '', 'snapscreenUrlPrefix' => '', 'snapscreenInsertAlign' => 'none', /* 抓取远程图片配置 */ 'catcherLocalDomain' => ['127.0.0.1', 'localhost', 'img.baidu.com'], 'catcherActionName' => 'catchimage', 'catcherFieldName' => 'source', 'catcherPathFormat' => '', 'catcherUrlPrefix' => '', 'catcherMaxSize' => 0, 'catcherAllowFiles' => ['.png', '.jpg', '.jpeg', '.gif', '.bmp'], /* 上传视频配置 */ 'videoActionName' => 'uploadvideo', 'videoFieldName' => 'upfile', 'videoPathFormat' => '', 'videoUrlPrefix' => '', 'videoMaxSize' => 0, 'videoAllowFiles' => [".flv", ".swf", ".mkv", ".avi", ".rm", ".rmvb", ".mpeg", ".mpg", ".ogg", ".ogv", ".mov", ".wmv", ".mp4", ".webm", ".mp3", ".wav", ".mid"], /* 上传文件配置 */ 'fileActionName' => 'uploadfile', 'fileFieldName' => 'upfile', 'filePathFormat' => '', 'fileUrlPrefix' => '', 'fileMaxSize' => 20971520, 'fileAllowFiles' => [".doc", ".docx", ".ppt", ".txt", ".xls", ".xlsx", ".pdf", ".rar", ".zip"], /* 列出指定目录下的图片 */ 'imageManagerActionName' => 'listimage', 'imageManagerListPath' => '', 'imageManagerListSize' => 20, 'imageManagerUrlPrefix' => '', 'imageManagerInsertAlign' => 'none', 'imageManagerAllowFiles' => ['.png', '.jpg', '.jpeg', '.gif', '.bmp'], /* 列出指定目录下的文件 */ 'fileManagerActionName' => 'listfile', 'fileManagerListPath' => '', 'fileManagerUrlPrefix' => '', 'fileManagerListSize' => '', 'fileManagerAllowFiles' => [".flv", ".swf",], ]; /** * 上传视频 * @return \think\response\Json */ public function uploadVideo() { if (!request()->isPost()) { return json(['code' => 4011, 'msg' => '请求方式不正确']); } if (empty($_FILES)) { return json([ 'code' => 401, 'msg' => '请您上传视频' ]); } // 开始上传 $attachment = null; $file = $this->request->file('video'); try { $upload = new \app\common\library\Upload($file); $attachment = $upload->upload(); } catch (UploadException $e) { return json([ 'code' => 402, 'msg' => $e->getMessage() ]); } return json([ 'code' => 200, 'msg' => '上传成功', 'data' => [ 'name' => $attachment->filename, 'video' => $attachment->url ] ]); } // 百度编辑器上传配置 public function ueditorUpload() { $action = input('get.action'); if (empty($action)) { $this->error('非法操作。'); } $result = []; switch ($action) { // 加载上传配置 case 'config' : $result = $this->config; break; // 上传涂鸦 case 'uploadscrawl' : break; // 上传图片 case 'uploadimage' : // 上传验证 $msg = $this->checkUpload($_FILES['upfilesss']['error']); if ($msg !== 'success') { die(json_encode([ 'state' => $msg ])); } // 上传图片、获取图片大小和后缀 $file = request()->file('upfilesss'); $fileName = $_FILES['upfilesss']['name']; $fileExt = explode('/', $_FILES['upfilesss']['type'])[1]; $fileSize = $_FILES['upfilesss']['size']; // 验证图片格式是否合法 if (!in_array('.' . $fileExt, $this->config['imageAllowFiles'])) { die(json_encode([ 'state' => '您上传的图片格式不正确' ])); } // 超过10M无法上传 if ($fileSize > $this->config['imageMaxSize']) { die(json_encode([ 'state' => '图片大小不能超过10M' ])); } // 开始上传 $attachment = null; $file = $this->request->file('upfilesss'); try { $upload = new \app\common\library\Upload($file); $attachment = $upload->upload(); // 获取图片名字作为alt和title $title = substr($fileName, 0, strrpos($fileName, '.')); return json([ 'state' => 'SUCCESS', 'original' => $title, 'title' => $title, 'url' => config('domain') . $attachment->url ]); } catch (UploadException $e) { return json([ 'state' => $file->getError(), 'msg' => $e->getMessage() ]); } break; } die(json_encode($result)); } /** * 上传图片 * @return \think\response\Json */ public function uploadImg() { if (!request()->isPost()) { return json(['code' => 4011, 'msg' => '请求方式不正确']); } if (empty($_FILES)) { return json([ 'code' => 401, 'msg' => '请您上传图片' ]); } // 开始上传 $attachment = null; $file = $this->request->file('image'); try { $upload = new \app\common\library\Upload($file); $attachment = $upload->upload(); } catch (UploadException $e) { return json([ 'code' => 402, 'msg' => $e->getMessage() ]); } return json([ 'code' => 200, 'msg' => '上传成功', 'data' => [ 'name' => $attachment->filename, 'url' => $attachment->url ] ]); } // 上传判断 private function checkUpload($code) { $codeArr = [ 'success', '上传文件超出php配置upload_max_filesize限制', '上传文件超出html表单限制', '文件只有部分被上传', '没有上传文件', '没有找不到临时文件夹', '文件写入失败,请检查权限', 'php文件上传扩展file没有打开' ]; return $codeArr[$code]; } }