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