не удалось загрузить изображение в symfony - PullRequest
0 голосов
/ 02 апреля 2020

Я пытаюсь загрузить изображение в каталог, получаю это исключение, жду ваших ответов, оцените его.

вот мой контроллер:

    public function addClubAction(\Symfony\Component\HttpFoundation\Request $request)
    {
        $club = new Club();
        $form = $this->createForm(ClubType::class,$club);
        $form->handleRequest($request);

        if($form->isSubmitted())
        {
            $dir="C:\\wamp64\\www\\iSchool\\web\\image";
            $file=$form['logo']->getData();
            $club->setLogo($club->getNom().".png");
            $file->move($dir,$club->getLogo());



            $em= $this->getDoctrine()->getManager();
            $em->persist($club);
            $em->flush();
        }
        return $this->render("@Club/Club/addClub.html.twig",array('form'=>$form->createView()));
    }
}

вот форма:

class ClubType extends AbstractType
{
    /**
     * {@inheritdoc}
     */
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder->add('nom')
                ->add('type')
                ->add('description',TextareaType::class)
                ->add('logo',FileType::class,array("data_class"=>null))
                ->add('ajouter_club',SubmitType::class);
    }

Это код ошибки, который я получаю: вызов функции-члена move () со значением NULL

$dir="C:\\wamp64\\www\\iSchool\\web\\image";       
$file=$form['logo']->getData();  
$club->setLogo($club->getNom().".png");            
$file->move($dir,$club->getLogo());      // the problem is here it tells 
$em= $this->getDoctrine()->getManager();        
$em->persist($club);

исключение:

1 Ответ

0 голосов
/ 02 апреля 2020

Я предлагаю вам использовать пакет VichUploader: https://packagist.org/packages/vich/uploader-bundle

Вы сможете загрузить свои изображения в кратчайшие сроки, обработать имя файла, путь загрузки, предварительный просмотр, тип для загрузки и у вас есть безопасность.

Проверьте это, оно того стоит.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...