Symfony2:多个上载文件不起作用

时间:2014-06-09 13:32:53

标签: php symfony file-upload symfony-forms

当我选择两个文件时,此代码不起作用。我不知道我做错了什么..

这是我的控制器。

public function createAction()
{
  $router = $this->get('router');
  $request = $this->get('request');
  $description = $request->request->get('description');                                   
  $picturesFromPage = $request->files->all();                                             
  $jsonErrorCreator = $this->get('project_api.create_error_json');
  $nbPictures = count($picturesFromPage);                                                   

  return ($jsonErrorCreator->createErrorJson(101, $nbPictures));
}

在我的树枝上:

<input name="pictures" type='file' multiple='multiple' required>

Json回答:

{"code":101,"msg":"0 files uploaded","data":1}

1 个答案:

答案 0 :(得分:2)

files->all()方法返回所有表单参数而不是提交的值。最好使用files->get(),以便获得所需参数的值。
将其更改为:

$picturesFromPage = $request->files->get('pictures');

此外,如果您想在表单中提交值数组,则需要将其名称放在括号中

<input name="pictures[]" type='file' multiple='multiple' required>