2014-03-13 58 views
4

我有一個Symfony2表單,旨在接受上載(XML)文件並將其與實體關聯。與其關聯的實體從Select元素中選擇,因此在提交表單時其ID包含在POST數據中。Symfony2 POST數據爲空時表單提交與某些文件

一切都很愉快,但是當我嘗試上傳一個特定的XML文件時,Symfony聲稱POST數據是空的 - 所以發生錯誤,因爲它找不到實體來關聯上傳。

在我的控制器操作處理表單提交,如果我這樣做;

var_dump($request->request->all()); 

返回 「數組:空」

如果我打開Symfony的調試工具欄,它不說;

Request POST Parameters 
No POST parameters 

但是,當我監控Firebug的要求,我可以看到POST數據,這是我所期待什麼。那麼,POST數據去哪了?順便說一句,我正在使用Symfony 2.3.9。如果有問題,所有的XML文件都是有效的XML。

+1

檢查您的請求文件包。 $ request-> files-> all() –

+2

同時檢查帖子max並上傳最大限制。 – Ramesh

+0

var_dump($ request-> files-> all())給出「數組空」 - 非常混亂! –

回答

0

你應該叫這樣的形式:

<form action="{{ path('form_submit') }}" method="post" {{ form_enctype(form) }}> 

,如果你使用的樹枝

2

最有可能擁有與PHP.ini設置和最大上傳大小做。

我有類似的情況和超過8 MB的文件(您可以根據需要更改的默認值)不會在$request->files中找到,並且不會觸發錯誤消息。

3

我有類似的情況,這是通過增加最大POST請求大小(post_max_size)解決。