42

我的控制器接收发布数据。它不是来自 Symfony 生成的表单,而是来自使用FormData.

正常的参数在请求参数包里是正常接收的,但是上传的文件怎么获取呢?我是否需要手动执行与表单相同的handleRequest操作?

我的文档与食谱文章相同。

所以我需要从 post 请求中获取一个 UploadFile 来在文档实体上调用这个方法:

public function setFile(UploadedFile $file = null)

如何在 Symfony 2 中手动接收上传(不以任何方式使用表单生成器)?

4

1 回答 1

81

Request有一个FileBag ,类似于 ParameterBag

所以我可以很容易地得到指定的文件:

$data = $this->getRequest()->request->all();
$file = $this->getRequest()->files->get('file');

并按原样使用食谱中的文档:

$document = new Document();
$document->setFile($file);
$lead->setDocument($document);
于 2013-08-23T11:19:31.353 回答