/** * Upload a single file * @param UploadedFile $file * @return \HealthCareAbroad\MediaBundle\Entity\Media|unknown */ public function uploadFile(UploadedFile $file) { if (!$file->isValid()) { return $file->getError(); } $caption = $file->getClientOriginalName(); $filename = $this->generateUniqueFilename($file); $file->move($this->uploadDirectory, $filename); $imageAttributes = getimagesize($this->uploadDirectory . '/' . $filename); $media = new Media(); $media->setName($filename); $media->setContentType($imageAttributes['mime']); $media->setCaption($caption); $media->setContext(0); $media->setUuid(time()); $media->setWidth($imageAttributes[0]); $media->setHeight($imageAttributes[1]); $this->entityManager->persist($media); $this->entityManager->flush($media); return $media; }