PartKeepr\ImageBundle\Controller\TemporaryImageController::uploadAction PHP Method

uploadAction() public method

Handles a temporary image upload.
public uploadAction ( Request $request ) : Symfony\Component\HttpFoundation\JsonResponse
$request Symfony\Component\HttpFoundation\Request The request to process
return Symfony\Component\HttpFoundation\JsonResponse The JSON response from the temporary image upload
    public function uploadAction(Request $request)
    {
        $image = new TempImage();
        $imageService = $this->get('partkeepr_image_service');
        if ($request->files->has('userfile') && $request->files->get('userfile') != null) {
            $file = $request->files->get('userfile');
            /*
             * @var $file UploadedFile
             */
            $imageService->replace($image, new File($file->getPathname()));
            $image->setOriginalFilename($file->getClientOriginalName());
        } elseif ($request->request->has('url')) {
            $imageService->replaceFromURL($image, $request->request->get('url'));
        } else {
            throw new \Exception('Error: No valid file given');
        }
        $this->getDoctrine()->getManager()->persist($image);
        $this->getDoctrine()->getManager()->flush();
        /**
         * @var ResourceInterface
         */
        list($resourceType) = $this->extractAttributes($request);
        $serializedData = $this->get('serializer')->normalize($image, 'jsonld', $resourceType->getNormalizationContext());
        return new JsonResponse(new TemporaryImageUploadResponse($serializedData));
    }