Je veux ajouter un champ de fichier dans mon formulaire [symfony2.5].Symfony2 - Fichier de type de champ de saisie
Je veux ouvrir l'explorateur de fichiers pour sélectionner un fichier et afficher son chemin dans la vue comme:
« C: //path/to/file.docx »
Je ne veux pas télécharger une image ou quoi que ce soit, juste la chaîne de chemin.
Je viens d'ajouter cet attribut dans mon annonce entité:
/**
* @var string
*
* @ORM\Column(type="text", length=255, nullable=false)
* @Assert\NotBlank(message="Please, upload the product brochure as a PDF file.")
*/
private $attachment;
/**
* Set attachment
*
* @param string $attachment
* @return Advert
*/
public function setAttachment($attachment)
{
$this->title = $attachment;
return $this;
}
/**
* Get attachment
*
* @return string
*/
public function getAttachment()
{
return $this->title;
}
dans mon formulaire/AdvertType.php J'ai ajouté:
->add('attachment', 'file')
Voici mon addAction:
public function addAction(Request $request)
{
$advert = new Advert();
$form = $this->createForm(new AdvertType(), $advert);
$usr = $this->get('security.context')->getToken()->getUser();
if ($form->handleRequest($request)->isValid()) {
$em = $this->getDoctrine()->getManager();
$advert->setAuthor($usr->getUsername());
$advert->setDate(new \DateTime);
$em->persist($advert);
$em->flush();
$request->getSession()->getFlashBag()->add('info', 'Annonce bien enregistrée.');
// On redirige vers la page de visualisation de l'annonce nouvellement créée/
return $this->redirect($this->generateUrl('info_view', array('id' => $advert->getId())));
}
return $this->render('SocietyPerfclientBundle:Default:add.html.twig', array(
'form' => $form->createView(),
));
}
Mon @Assert \ NotBlank (message = "Veuillez télécharger la brochure du produit sous forme de fichier PDF.") Est toujours là ..
Je ne comprends pas ce qui est erroné s'il vous plaît aidez-moi ..
Oui, le message par défaut "Cette valeur ne doit pas être vide" apparaît. –