это дает ошибку, которую я написал в заголовке. Я использовал этот же код раньше, но сейчас он не работает. Я думаю, что не получаю «id», но я не знаю, почему. если я раскомментирую эти строки комментариев на контроллере, он откроет окно добавления фотографии и позволит мне выбрать фотографию, но после нажатия кнопки «Отправить» она не загружается. пожалуйста, ребята, мне очень нужна ваша помощь. Любые идеи? Я видел ту же ошибку в stackoverflow здесь, но это решение не сработало для меня.
*****Это мой контроллер****
/**
* @Route("/{id}/fotoekle", name = "duyurular_fotoekle", methods = {"GET","POST"})
*/
public function fotoekle(Request $request, $id, Duyurular $duyurular): Response
{
$form = $this->createForm(DuyurularType::class, $duyurular);
$form->handleRequest($request);
echo ('sefa');
// if ($form->isSubmitted() && $form->isValid()) {
echo ('sefa2');
$file = $request->files->get('image');
$fileName = $this->generateUniqueFileName().'.'.$file->guessExtension();
// dump($request);
// die();
// $file = $duyurular->getFotograf();
// $file = $form->get('fotograf')->getData();
try{
$file->move(
$this->getParameter('fotograflar_directory'),
$fileName
);
}catch (FileException $e){
}
$duyurular->setFotograf($fileName);
$this->getDoctrine()->getManager()->flush();
return $this->redirectToRoute('duyurular_fotoekle', ['id' => $duyurular->getId(),]);
// }
// return $this->render('duyurular/fotoekle.html.twig', [
// 'duyurular' => $duyurular,
// 'form' => $form->createView(),
// 'id' => $duyurular->getId(),
// ]);
}
Это мой код файла/формы .html.twig
{% block body %}
<h1>{{ duyurular.baslik }}</h1>
<form action = "{{ path('duyurular_fotoekle',{'id':id}) }}" method = "post" enctype = "multipart/form-data">
Select image to upload:
<input name = "duyuruid" value = "{{ id }}" type = "number" readonly>
<input type = "file" name = "image" id = "fileToUpload">
<input type = "submit" value = "Upload Image" name = "submit">
</form>
{% if duyurular.fotograf != null %}
<img src = "{{ asset('yuklenen') }}/fotograflar/{{ duyurular.fotograf }}" height = "100">
{% endif %}
{% endblock %}



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Пришлось менять контроллер. Я добавил еще одну функцию под названием «iedit», а не в iedit.html.twig, которую я назвал «duyurular_fotoekle». если вы не могли понять, что я сделал, не стесняйтесь спрашивать.
/**
* @Route("/{id}/fotoekle", name = "duyurular_fotoekle", methods = {"POST"})
*/
public function fotoekle(Request $request, Duyurular $duyurular, $id): \Symfony\Component\HttpFoundation\RedirectResponse
{
$form = $this->createForm(DuyurularType::class, $duyurular);
$form->handleRequest($request);
echo ('sefa 2');
$file = $request->files->get('image');
// $file = $duyurular->getFotograf();
// $file = $form->get('fotograf')->getData();
$fileName = $this->generateUniqueFileName().'.'.$file->guessExtension();
try{
$file->move(
$this->getParameter('fotograflar_directory'),
$fileName
);
}catch (FileException $e){
}
$duyurular->setFotograf($fileName);
$this->getDoctrine()->getManager()->flush();
return $this->redirectToRoute('duyurular_iedit', ['id' => $duyurular->getId(),]);
}
/**
* @Route("/{id}/iedit", name = "duyurular_iedit", methods = "GET|POST")
*/
public function iedit(Request $request,$id, Duyurular $duyurular,DuyurularRepository $duyurularRepository): Response
{
$duyurulist = $duyurularRepository ->findAll();
$duyuruname = $duyurularRepository ->findBy(['id'=> $duyurular->getId()]);
$form = $this->createForm(DuyurularType::class, $duyurular);
$form->handleRequest($request);
echo ('sefa 0');
$this->getDoctrine()->getManager()->flush();
if ($form->isSubmitted()) {
echo ('sefa 1');
return $this->redirectToRoute('duyurular_index', ['id' => $duyurular->getId()]);
}
return $this->render('duyurular/iedit.html.twig', [
'duyurular' => $duyurular,
'id'=>$id,
'duyurulist' => $duyurulist,
'duyuruname' => $duyuruname,
'form' => $form->createView(),
]);
}