如何在没有表单的情况下上传文件

时间:2013-08-23 10:11:49

标签: forms symfony upload

我的控制器收到帖子数据。它不是来自Symfony生成的表单,而是来自使用FormData的AngularJS自定义表单。

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

我的文档与cookbook article相同。

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

public function setFile(UploadedFile $file = null)

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

1 个答案:

答案 0 :(得分:57)

Request有一个FileBag,类似于ParameterBag

所以我可以通过以下方式轻松获得指定的文件:

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

并按照食谱中的说明使用该文件:

$document = new Document();
$document->setFile($file);
$lead->setDocument($document);