2017-06-25 13 views
-1

私はエンティティ、編集フォーム、およびコントローラを持っています。エンティティには、画像へのパスを保持する文字列が含まれます。編集フォームをレンダリングすると、アーティクルにイメージがあってもイメージファイルのアップロードは常に空です。これをどうすれば解決できますか?イメージはsymfonyの編集フォームに表示されません

/** 
* @var string 
* @ORM\Column(name="image", type="string", length=500) 
*/ 
private $image; 

-

/** 
    * @param Request $request 
    * 
    * @param int $id 
    * 
    * @return \Symfony\Component\HttpFoundation\RedirectResponse|\Symfony\Component\HttpFoundation\Response 
    * 
    * @Route("admin/article/edit/{id}", name="admin_article_edit", requirements={"id": "\d+"}) 
    */ 
    public function editArticleAction(Request $request, int $id) 
    { 

     $article = $this->getDoctrine() 
      ->getRepository(Article::class)->find($id); 

     $form = $this->createForm(ArticleType::class, $article); 

     $form->handleRequest($request); 

     if ($form->isSubmitted() && $form->isValid()) { 
      // Upload picture logic 
      $oldPicture = $article->getImage(); 
      $imagePath = 'images/articles/'; 
      $uploadService = $this->get('picture_upload'); 
      $uploadService->uploadPicture($article, $oldPicture, $imagePath); 

      $em = $this->getDoctrine()->getManager(); 
      $em->persist($article); 
      $em->flush(); 

      return $this->redirectToRoute('article_view', array('id' => $article->getId())); 
     } 

     return $this->render('article/add.html.twig', array(
      'form' => $form->createView() 
     )); 
    } 

-

$builder 
->add("Title", TextType::class) 
->add('Content', TextareaType::class) 
->add("Image", FileType::class, array('data_class' => null)); 
+1

この質問は明確ではありません。「編集フォームをレンダリングすると、画像ファイルに画像がある場合でも画像ファイルのアップロードは常に空です。期待される結果は何ですか? – lordrhodos

答えて

0

私はあなたが画像を表示したい場合はHow to Create a Form Type Extensionを見て、これは正常な動作

あるかなり確信しています

あなたが望むものがあります!

関連する問題