Как загрузить и сохранить изображение без пакета в Symfony 4 - PullRequest
0 голосов
/ 08 июня 2019

У меня есть пользовательский объект со свойством изображения. Когда я регистрирую пользователя из регистрационной формы, изображение отображается в виде профиля пользователя, а имя изображения сохраняется в базе данных. Но когда я хочу изменить профиль пользователя из формы редактирования, при отправке формы у меня появляется следующее сообщение: файл не найден

 /**
  * @ORM\Column(type="string", length=255, nullable=true)
  * @Assert\File(mimeTypes={ "image/jpeg" })
  */
    private $picture;


     private $file;

```entity User methods

    /**
     * Get the value of file
     */
    public function getFile()
    {
        return $this->file;
    }

    /**
     * Set the value of file
     *
     * @return  self
     */
    public function setFile($file)
    {
        $this->file = $file;

        return $this;
    }

``` the method in the AccountController

/**
     * Permet d'afficher le formulaire d'édition du profil
     * @Route("/account/profile", name="account_profile")
     * 
     * @return Response
     */
    public function profile(Request $request, ObjectManager $manager)
    {
        $user = $this->getUser();

        $form = $this->createForm(AccountType::class, $user);
        $form->handleRequest($request);

        if ($form->isSubmitted() && $form->isValid()) {

            $user->setPicture(
                new File($this->getParameter('upload_directory') . '/' . $user->getPicture())
            );

            $manager->persist($user);
            $manager->flush();

            $this->addFlash(
                'success',
                "Les modifications ont bien été enregistrées"
            );

            return $this->redirectToRoute('user_show');
        }

        return $this->render('account/profile.html.twig', [
            'form' => $form->createView()
        ]);
    }



I also created a pictureUploadListener entity that I declared in the service.yaml file
...