Вызов функции-члена guessExtension() при нулевом значении

это дает ошибку, которую я написал в заголовке. Я использовал этот же код раньше, но сейчас он не работает. Я думаю, что не получаю «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 %}
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
0
636
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Пришлось менять контроллер. Я добавил еще одну функцию под названием «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(),
        ]);
    }

Другие вопросы по теме