getClientOriginalExtension() ? $file->getClientOriginalExtension() : pathinfo($file->getClientOriginalName(), PATHINFO_EXTENSION); } protected function chunkUploadFileByCompany( UploadedFile $file, string $objectType, ?ProgressBar $progressBar = null ) { $extension = $this->getFileExtension($file); $pathname = ChunkedUploadFactory::make()->upload( $file, cos_upload_prefix(Auth::user()->company_id, $objectType), sprintf("%s.%s", md5(uniqid()), $extension), $progressBar ); return [ 'pathname' => $pathname, 'title' => $file->getClientOriginalName(), 'size' => $file->getSize(), 'extension' => $extension, 'object_type' => $objectType, 'created_by' => Auth::id(), 'company_id' => Auth::user()->company_id, ]; } protected function fileToDatabase(array $fileInfo = [], int $objectId = null, array $fields = []): Model|\Illuminate\Database\Eloquent\Builder|null { if (! $fileInfo || ! $objectId) { return null; } return File::query()->create([ ...$fileInfo, 'object_id' => $objectId, ...$fields, ]); } }