/** * Set the file that needs to be imported. * * @param string|\Symfony\Component\HttpFoundation\File\UploadedFile $file * * @return $this * * @throws \Spatie\MediaLibrary\Exceptions\FileCannotBeAdded */ public function setFile($file) { $this->file = $file; if (is_string($file)) { $this->pathToFile = $file; $this->setFileName(pathinfo($file, PATHINFO_BASENAME)); $this->mediaName = pathinfo($file, PATHINFO_FILENAME); return $this; } if ($file instanceof UploadedFile) { $this->pathToFile = $file->getPath() . '/' . $file->getFilename(); $this->setFileName($file->getClientOriginalName()); $this->mediaName = pathinfo($file->getClientOriginalName(), PATHINFO_FILENAME); return $this; } if ($file instanceof File) { $this->pathToFile = $file->getPath() . '/' . $file->getFilename(); $this->setFileName(pathinfo($file->getFilename(), PATHINFO_BASENAME)); $this->mediaName = pathinfo($file->getFilename(), PATHINFO_FILENAME); return $this; } throw FileCannotBeAdded::unknownType(); }