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