/**
  * 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();
 }