2017-04-12 3 views
0

Existe-t-il un moyen facile de gérer l'image du profil utilisateur?Customer Image Profil

J'ai essayé avec VichUploaderBundle sans succès.

+1

Montrez ce que vous avez essayé (implémentation) et où vous êtes bloqué. Pour améliorer votre question, lisez [Comment poser une bonne question?] (Http://stackoverflow.com/help/how-to-ask) et mettez à jour votre question en conséquence. –

+0

Bien sûr, je suis [procédure d'installation] (https://github.com/dustin10/VichUploaderBundle/blob/master/Resources/doc/installation.md) sans aucun problème et je voulais utiliser le [mappage yml] (https: //github.com/dustin10/VichUploaderBundle/blob/master/Resources/doc/mapping/yaml.md). Cela n'a aucun effet sur doctrine: schema: update. Si nécessaire, je peux joindre mes configurations –

+1

Oui, ajoutez votre code pour voir comment vous l'avez implémenté –

Répondre

0

Enregistrez-les dans votre dossier avec un nom unique et des noms de magasin dans la base de données.

Pour télécharger une image, vous pouvez utiliser un champ FileType dans votre formulaire, documenté here. Vous pouvez utiliser ImageType pour la validation du formulaire que je me souvienne et est un code ici qui enregistre le fichier dans un dossier et enregistrer le nom de fichier dans la base de données:

$user = new User(); 
    $form = $this->createForm(UserForm::class, $user); 

    $form->handleRequest($request); 

    if ($form->isSubmitted() && $form->isValid()) { 
     $img = $user->getPhoto(); 

     $fileName = md5(uniqid()).'.'.$img->guessExtension(); 
     $user->setPhoto($fileName); 
     // Move the file to the directory where brochures are stored 
     $img->move(
      $this->getParameter('user_image_directory'), 
      $fileName 
     ); 
     $em = $this->getDoctrine()->getManager(); 
     $em->persist($user); 
     $em->flush(); 
    } 

Et quand vous voulez afficher l'img vous afficher dans twig d'une manière similaire, d'abord vous lisez le nom de fichier avec $ user-> getPhoto() et l'envoyer à votre modèle, j'ai eu un bug quand j'ai appelé user.getPhoto() du modèle, peut-être que moi:

img src="{{ asset('media/users/') }}{{ filename }}"></div>