/** * @param UploadedFile $uploadedFile * @param MediaInterface $entity * @param bool $move * @return MediaInterface */ public function upload(UploadedFile $uploadedFile, MediaInterface $entity, $keepOriginalFileName = false) { $entity->setMimetype($uploadedFile->getMimeType()); $entity->setSize($uploadedFile->getClientSize()); $entity->setType(Media::UPLOADED_FILE); $entity->setOriginal($uploadedFile->getClientOriginalName()); $entity->setPath($this->getUploadRootDir()); if ($keepOriginalFileName) { $fileName = $entity->getOriginal(); $entity->setFileName($entity->getOriginal()); } else { $ext = $uploadedFile->guessExtension() ? $uploadedFile->guessExtension() : 'bin'; $fileName = md5(rand(1, 9999999) . time() . $uploadedFile->getClientOriginalName()) . '.' . $ext; } $entity->setFileName($fileName); $uploadedFile->move($this->getUploadRootDir(), $entity->getFileName()); $webPath = sprintf('/%s/%s', $this->getUploadDir(), $entity->getFileName()); $entity->setWebPath($webPath); return $entity; }