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