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));
}