'Write a blog post' ]; $oForm = $this->createFormBuilder($oTask) ->add('task', TextType::class) ->add('doc', FileType::class) ->add('docs', FileType::class, [ 'multiple' => true ]) ->add('save', SubmitType::class, ['label' => 'Create Task']) ->getForm(); $oForm->handleRequest($request); // submitted and valid if ($oForm->isSubmitted() && $oForm->isValid()) { $sDataPath = APPROOT . 'data'; $file = $oForm['doc']->getData(); $file->move($sDataPath, $file->getClientOriginalName()); $files = $oForm['docs']->getData(); foreach ($files as $file){ $file->move($sDataPath, $file->getClientOriginalName()); } // return object form return new JsonResponse([ 'succeeded' => true ]); } // return object form return new JsonResponse([ 'template' => $this->renderView('DI/form/form.html.twig', [ 'form' => $oForm->createView(), ]) ]); } }