file('file'); //获取文件大小,单位B $fileSize = floor($file->getSize()); if ($fileSize >= 50 * 1024 *1024) { return $this->fail([ResponseCode::ERROR_BUSINESS, '文件必须小于10M']); } //过滤文件后缀 $ext = $file->getClientOriginalExtension(); if (in_array($ext, ['zip','rar','ppt','pptx','xls','xlsx','doc','docx','png','gif','jpg','jpeg','pdf','mp4'])) { // 保存目录 $dir = 'files'; // 文件名 $fileName = time() . uniqid() . '.' . $ext; $file->storeAs($dir,$fileName,['disk'=>'public']); // 写入上传文件记录表 $list = [ 'original_name'=>$file->getClientOriginalName(), 'folder'=>'storage/'.$dir, 'name'=>$fileName, 'extension'=>$ext, 'size'=>$fileSize, 'creator_id'=>$this->getUserId(), 'created_at'=>date('Y-m-d H:i:s') ]; $id = Upload::insertGetId($list); $uploadFile = Upload::find($id); return $this->success($uploadFile); } else { return $this->fail([ResponseCode::ERROR_BUSINESS, '文件格式错误']); } } }