Networking\InitCmsBundle\Controller\MediaMultiUploadController::handleUpload PHP Method

handleUpload() protected method

protected handleUpload ( $file, Oneup\UploaderBundle\Uploader\Response\ResponseInterface $response, Request $request )
$file
$response Oneup\UploaderBundle\Uploader\Response\ResponseInterface
$request Symfony\Component\HttpFoundation\Request
    protected function handleUpload($file, ResponseInterface $response, Request $request)
    {
        /** @var $mediaAdmin \Sonata\MediaBundle\Admin\ORM\MediaAdmin */
        $mediaAdmin = $this->container->get('sonata.media.admin.media');
        $mediaAdmin->setRequest($request);
        /** @var Media $media */
        $media = $mediaAdmin->getNewInstance();
        $media->setEnabled(true);
        $media->setName($file->getClientOriginalName());
        $media->setBinaryContent($file);
        $tags = explode(',', $request->get('tags'));
        $tagCollection = new ArrayCollection();
        foreach ($tags as $tagId) {
            $tag = $this->container->get('doctrine')->getRepository('NetworkingInitCmsBundle:Tag')->find($tagId);
            if ($tag) {
                $tagCollection->add($tag);
            }
        }
        $media->setTags($tagCollection);
        $checksum = Util\Checksum::fromFile($file->getPathName());
        $duplicate = $mediaAdmin->checkForDuplicate($media, $checksum);
        if ($duplicate) {
            $path = $mediaAdmin->generateObjectUrl('edit', $duplicate);
            $response->offsetSet('url', $path);
            $response->offsetSet('id', $duplicate->getId());
            throw new DuplicateMediaException('File is duplicate');
        }
        try {
            $mediaAdmin->create($media);
            $path = $mediaAdmin->generateObjectUrl('edit', $media);
            $response->offsetSet('url', $path);
            $response->offsetSet('id', $media->getId());
        } catch (\Exception $e) {
            throw new UploadException($e->getMessage());
        }
    }
MediaMultiUploadController