2011-11-28 81 views
5

如何在symfony中使用多个文件上传?我真的不知道如何做'symfony的方式'。我读How to handle File Uploads with Doctrine,但如何上传许多文件?多文件上传symfony 2

我尝试使用collection field type并添加setFiles方法对象模型

public function setFiles($files) 
{ 
    $this->files = $files; 
    foreach ($files as $file) { 
     $file->setObject($this); 
    } 
} 

,但有例外(这始终工作在正常模式下,没有任何文件)

Fatal error: Call to undefined method Symfony\Component\HttpFoundation\File\UploadedFile::setObject()

请帮助我。

更新: 我使用的主要对象第二形式的文件,并...

 $files = $this->getRequest()->files->get('val_image'); 
     foreach($files as $file){ 
      $foto = new Foto; 
      $foto->setFile($file); 
      $foto->setPremises($premises->getPremises()); 
      $this->getEm()->persist($foto); 
     } 

它的作品:)

+0

我不会不理你:(例如? – rtyshyk

+0

我的意思是尝试像这样的'/ ** * @Assert \ All({ * @Assert \ File *}) */private $ files; '只需做'$ this-> files = $ files' – greg0ire

+0

为文件创建一个特定的实体,然后像一对多关系那样附加它。例如MyEntity有一个字段$照片,这是一个FileEntity的集合。如果你需要,我可以给你一个更大的例子 – Pawel

回答