/**
  * @param PostPersistEvent $event
  * @return AbstractResponse
  * @throws \UnexpectedValueException|\InvalidArgumentException
  */
 public function onUpload(PostPersistEvent $event)
 {
     $file = $event->getFile();
     if (!$file instanceof GaufretteFile) {
         $class = get_class($file);
         throw new \UnexpectedValueException("Only gaufrette files are supported, '{$class}' given");
     }
     $originalFilename = $file->getName();
     try {
         // Couldn't find anything better with OneUp uploader...
         $originalFiles = $event->getRequest()->files->all();
         if (isset($originalFiles['files'])) {
             $originalFiles = $originalFiles['files'];
             if (count($originalFiles)) {
                 $originalFile = array_pop($originalFiles);
                 $originalFilename = $originalFile->getClientOriginalName();
             }
         }
     } catch (\Exception $e) {
     }
     $file = $this->resourceManager->addFile($file, $originalFilename, $event->getType());
     /** @var AbstractResponse $response */
     $response = $event->getResponse();
     $response[] = $file;
     return $response;
 }