isValid()) { Log::error('上传文件,校验失败', [ 'error' => $file->getErrorMessage(), 'user_id' => $userId, 'userType' => $userType ]); ThrowException::run('文件无效'); } // 文件类型 $fileType = explode("/", $file->getClientMimeType())[0]; $ext = $file->getClientOriginalExtension(); ThrowException::isTrue(!in_array(strtolower($ext), self::enableUploadExt()), '该文件不支持上传'); ThrowException::isTrue($file->getSize() > self::maxUploadSize(), "文件大小不能超过10M"); $scenePath = MaterialScene::getDiskPath($scene); $path = Storage::disk('local')->put($scenePath, $file); $m = new Material(); $m->scene = $scene; $m->user_id = $userId; $m->user_type = $userType; $m->path = '/uploads/' . ltrim($path, '/'); $m->save(); return $m; } }