Download Symfony 2.2 Files

It has been a while since I downloaded files with Symfony2, and it seems that everything has changed, follow the guide in How to handle file downloads using Doctrine but is outdated and does not work.

when i try to link form a get error

Catchable Fatal Error: Argument 1 passed to Entity\Portada::setFile() must be an instance of Symfony\Component\HttpFoundation\File\UploadedFile, string given, ... 

this is my controller

 /** * @Route("/upload", name="documento_upload") * @Method("POST") * @Template() */ public function uploadAction(Request $request) { $portada = new Portada(); $form = $this->buildUploadForm($portada); $form->bind($request); if ($form->isValid()) { $portada->upload(); } else { throw new \Exception("Hay un error en el formulario"); } //... } 

my essence

 <?php namespace MyName\MyBundle\Entity; use Doctrine\ORM\Mapping as ORM; use Symfony\Component\HttpFoundation\File\UploadedFile; use Symfony\Component\Validator\Constraints as Assert; class Portada { /** * @Assert\File(maxSize="6000000") */ private $file; public $path; /** * Sets file. * * @param UploadedFile $file */ public function setFile(UploadedFile $file = null) { $this->file = $file; } public function upload() { $this->path = $this->getFile()->getClientOriginalName(); $this->getFile()->move( $this->getUploadRootDir(), $this->path ); $this->file = null; } /** * Get file. * * @return UploadedFile */ public function getFile() { return $this->file; } public function getAbsolutePath() { return null === $this->path ? null : $this->getUploadRootDir() . DIRECTORY_SEPARATOR . $this->path; } public function getWebPath() { return null === $this->path ? null : $this->getUploadDir() . DIRECTORY_SEPARATOR . $this->path; } protected function getUploadRootDir() { return __DIR__ . '/../../../../web/'. $this->getUploadDir(); } protected function getUploadDir() { return 'uploads/portada'; } } 
+6
source share
1 answer

I forgot to add enctype to my form after doing a great job

 <form action="{{ path('documento_upload') }}" method="post" {{ form_enctype(upload_form) }}> {{ form_widget(upload_form) }} <button type="submit" class="btn btn-primary">Upload</button> </form> 
+15
source

All Articles