uploadHandler = $upload_handler; $this->request = $request; } /** * {@inheritdoc} */ public static function create(ContainerInterface $container) { return new static( $container->get('dropzonejs.upload_handler'), $container->get('request_stack')->getCurrentRequest() ); } /** * Handles DropzoneJs uploads. */ public function handleUploads() { $file = $this->request->files->get('file'); if (!$file instanceof UploadedFile) { throw new AccessDeniedHttpException(); } // @todo: Implement file_validate_size(); try { // Return JSON-RPC response. return new AjaxResponse([ 'jsonrpc' => '2.0', 'result' => basename($this->uploadHandler->handleUpload($file)), 'id' => 'id', ]); } catch (UploadException $e) { return $e->getErrorResponse(); } } }