'filesize:102400|fileExt:jpg,png,gif,jpeg,rar,zip,avi,mp4,rmvb,3gp,flv,mp3,txt,doc,xls,ppt,pdf,xls,docx,xlsx,doc,wmv' ]; protected $imageValidate = [ 'image' => 'filesize:10240|fileExt:jpg,png,gif,jpeg,bmp,svg,wmv' ]; protected $videoValidate = [ 'file' => 'filesize:10240|avi,rmvb,3gp,flv,mp4,wmv' ]; protected $voiceValidate = [ 'file' => 'filesize:2048|mp3,wma,wav,amr,wmv' ]; public function initialize() { $fileExt = getConfigByCode('upload_file_type'); $filemax = getConfigByCode('upload_file_max')*1024; $this->uploadValidate = ['image'=> 'filesize'.$filemax.'|'.$fileExt, ]; parent::initialize(); // TODO: Change the autogenerated stub } /** * 文件上传 * @return false|string */ public function Uploads(){ //获取上传文件表单字段名 $fileKey = array_keys(request()->file()); for ($i = 0; $i < count($fileKey); $i++) { //获取表单上传文件 $file = request()->file($fileKey[$i]); try { validate($this->uploadValidate)->check(DataHelper::objToArray($file)); $savename = \think\facade\Filesystem::disk('public')->putFile('uploads', $file); $savename= str_replace('\\', "/", $savename); $path[] = '/storage/' . $savename; } catch (\think\exception\ValidateException $e) { $path = ''; $error = $e->getMessage(); } } if (!empty($path)) { $result['code'] = 1; //分辨是否截图上传,截图上传只能上传一个,非截图上传可以上传多个 if (Request::param('responseType') == 'json') { $result["url"] = $path[0]; } else { $result["url"] = $path; } $result['msg'] = lang('upload success'); return $result; } else { //上传失败获取错误信息 $result['url'] = ''; $result['msg'] = $error; $result['code'] = 0; return $result; } } /** * 文件上传 * @return false|string */ public function imageUploads(){ //获取上传文件表单字段名 $fileKey = array_keys(request()->file()); for ($i = 0; $i < count($fileKey); $i++) { //获取表单上传文件 $file = request()->file($fileKey[$i]); try { validate($this->imageValidate) ->check(DataHelper::objToArray($file)); $savename = \think\facade\Filesystem::disk('public')->putFile('uploads', $file); $savename= str_replace('\\', "/", $savename); $path[] = '/storage/' . $savename; } catch (\think\exception\ValidateException $e) { $path = ''; $error = $e->getMessage(); } } if (!empty($path)) { $result['code'] = 1; //分辨是否截图上传,截图上传只能上传一个,非截图上传可以上传多个 if (Request::param('responseType') == 'json') { $result["url"] = $path[0]; } else { $result["url"] = $path; } $result['msg'] =lang('upload success'); return $result; } else { //上传失败获取错误信息 $result['url'] = ''; $result['msg'] = $error; $result['code'] = 0; return $result; } } public function text() { } /** * 文件上传 * @return false|string */ public function videoUploads(){ // ini_set("upload_max_filesize","10M");//即允许上传文件大小的最大值 // ini_set("post_max_size","10M");//指通过表单POST给PHP的所能接收的最大值 // ini_set("memory_limit","10M");//;每个PHP页面所吃掉的最大内存 // ini_set("max_execution_time","3600");//每个PHP页面运行的最大时间值(秒) // ini_set("max_input_time","3600");//每个PHP页面接收数据所需的最大时间(秒) //获取上传文件表单字段名 $fileKey = array_keys(request()->file()); for ($i = 0; $i < count($fileKey); $i++) { //获取表单上传文件 $file = request()->file($fileKey[$i]); try { validate($this->videoValidate) ->check(DataHelper::objToArray($file)); $savename = \think\facade\Filesystem::disk('public')->putFile('uploads', $file); $savename= str_replace('\\', "/", $savename); $path[] = '/storage/' . $savename; } catch (\think\exception\ValidateException $e) { $path = ''; $error = $e->getMessage(); } } if (!empty($path)) { $result['code'] = 1; //分辨是否截图上传,截图上传只能上传一个,非截图上传可以上传多个 if (Request::param('responseType') == 'json') { $result["url"] = $path[0]; } else { $result["url"] = $path; } $result['msg'] = lang('upload success'); return $result; } else { //上传失败获取错误信息 $result['url'] = ''; $result['msg'] = $error; $result['code'] = 0; return $result; } } /** * 文件上传 * @return false|string */ public function vioceUploads(){ //获取上传文件表单字段名 $fileKey = array_keys(request()->file()); for ($i = 0; $i < count($fileKey); $i++) { //获取表单上传文件 $file = request()->file($fileKey[$i]); try { validate($this->voiceValidate) ->check(DataHelper::objToArray($file)); $savename = \think\facade\Filesystem::disk('public')->putFile('uploads', $file); $savename= str_replace('\\', "/", $savename); $path[] = '/storage/' . $savename; } catch (\think\exception\ValidateException $e) { $path = ''; $error = $e->getMessage(); } } if (!empty($path)) { $result['code'] = 1; //分辨是否截图上传,截图上传只能上传一个,非截图上传可以上传多个 if (Request::param('responseType') == 'json') { $result["url"] = $path[0]; } else { $result["url"] = $path; } $result['msg'] = lang('upload success'); return $result; } else { //上传失败获取错误信息 $result['url'] = ''; $result['msg'] = $error; $result['code'] = 0; return $result; } } }