2014-03-13 2 views
4

업로드 된 (XML) 파일을 수락하고 엔티티와 연결하도록 설계된 Symfony2 양식이 있습니다. 이를 연관시킬 엔티티는 Select 요소에서 선택되므로 양식을 제출할 때 해당 ID가 POST 데이터에 포함됩니다.Symfony2 양식이 특정 파일과 함께 제출되면 POST 데이터가 비어 있습니다.

모든 것이 행복하게 작동했지만 특정 XML 파일을 업로드하려고 시도하면 Symfony는 POST 데이터가 비어 있다고 주장합니다. 따라서 업로드를 연결하는 엔티티를 찾을 수 없으므로 오류가 발생합니다.

내가 이렇게하면 양식 제출을 처리하는 컨트롤러 내 작업에서; "배열 : 빈"을 반환

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

내가 심포니 디버그 줄을 열면

, 그것은 말하는가;

Request POST Parameters 
No POST parameters 

그러나 Firebug에서 요청을 모니터링 할 때 POST 데이터를 볼 수 있으며 정확히 예상 한 것입니다. 그래서, 어디서 POST 데이터가 사라 졌나요?

나는 그런 식으로 Symfony 2.3.9를 사용하고 있습니다. 모든 XML 파일은 유효한 XML입니다. 당신이이 PHP.ini 설정 및 최대 업로드 크기와 관련이있다 나뭇 가지

+1

요청 파일 가방을 확인하십시오. $ request-> files-> all() –

+2

또한 게시 최대 및 업로드 최대 한도를 확인하십시오. – Ramesh

+0

var_dump ($ request-> files-> all())는 "배열이 비어 있습니다"- 매우 혼란 스럽습니다! –

답변

0

는이 같은 형태를 호출해야합니다.

비슷한 상황이 발생하여 사용자가 필요에 따라 변경할 수있는 기본값 인 8MB 이상의 파일은 $request->files에 나타나지 않으며 오류 메시지가 표시되지 않습니다.

2

대부분의 경우 사용하는 경우

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

:

3

비슷한 POST 요청 크기 (post_max_size)를 늘림으로써 비슷한 문제가 해결되었습니다.

관련 문제