2013-03-26 42 views
1

我創建了一個上傳文件的表單,但是出現了一個非常奇怪的錯誤... 當我上傳文件時,symfony看不到POST參數。上傳文件時沒有POST參數

我Form類:

class UploadDocumentForm extends AbstractType 
{ 
    public function buildForm(FormBuilderInterface $builder, array $options) 
    { 
    $builder->add('name', 'text', array(
     'label' => 'Nom' 
    )); 
    $builder->add('file', 'file', array(
     'label' => 'Fichier' 
    )); 
    } 

    public function getName() 
    { 
    return 'upload_document_form'; 
    } 
} 

我的模板:

<form action="{{ path('upload_file') }}" enctype="multipart/form-data" method="post"> 
    {{ form_widget(upload_file_form) }} 
    <input type="submit" value="Envoyer le fichier" /> 
    </form> 

我的控制器的操作方法:

public function uploadAction(Request $request) 
    { 
    $form = $this->createForm(new UploadDocumentForm(), new Document()); 
    $form->bind($request); 

    if ($form->isValid()) 
    { 
     [...] 
    } 
    [...] 
    } 

我的請求(調試與螢火蟲):

upload_document_form[name] blablabla 
upload_document_form[file] ID3����TRCK������03/12TIT2[...] 
upload_document_form[_token] bb5f9925002dafbab[...] 

我symfony的調試工具條的要求:

請求POST參數

沒有POST參數

,如果我做的:

die(var_dump($request->get($form->getName()))); 

$請求返回NULL。

我已經配置了我的/etc/php5/apache/php.ini的php.ini中有:

file_uploads =在

的upload_max_filesize = 100M

max_file_uploads = 28

因此,自然,我的表單無效。最奇怪的是,如果我上傳一個小文件(〜4Mo下),POST數據在這裏,並且一切正常!

+2

「post_max_size」和「upload_max_filesize」的值是什麼?很多在那裏 - >在「相關」的問題... – ficuscr 2013-03-26 19:22:44

+0

很好的連接和相關的問題! post_max_size是8M ... – bux 2013-03-26 19:38:09

回答

2

ficuscr評論是正確的:我需要在我的php.ini配置文件來配置的post_max_size來。

+0

拉過我的頭髮,但你的回答幫我找到了解決辦法。如果超過最大文件大小,upload_max_filesize也會導致POST不返回任何內容 – AaronP 2016-03-02 03:53:06