request->isPost()) { $file = $this->request->file('upload'); if ($file) { try { validate( [ 'file' => [ // 限制文件大小(单位b),这里限制为4M 'fileSize' => 4 * 1024 * 1024, // 限制文件后缀,多个后缀以英文逗号分割 'fileExt' => 'jpg,png,gif,jpeg,webp,jfif' ] ], [ 'file.fileSize' => '文件太大', 'file.fileExt' => '不支持的文件后缀', ] )->check(['file' => $file]); $savename = \think\facade\Filesystem::disk('public')->putFile('/', $file); return json([ 'uploaded' => 1, 'fileName' => basename($savename), 'url' => Config::get('filesystem.disks.public.url') . '/' . $savename ]); } catch (\think\exception\ValidateException $e) { $this->error($e->getMessage()); return json([ 'uploaded' => 1, 'error' => ['message'=>$e->getMessage()] ]); } } else { return json([ 'uploaded' => 1, 'error' => ['message'=>'图片不能为空'] ]); } } } }