【问题标题】:Symfony2 form file upload always nullSymfony2 表单文件上传始终为空
【发布时间】:2014-10-28 23:29:31
【问题描述】:

我在上传文件时遇到问题,当我转储 $form->getData() 返回的数据时,文件字段始终为空。另外,如果我这样做 $this->getRequest()->files->all() 我会得到一个空数组()。

这是我的表单类型中的字段定义:

->add('card_file', 'file', array(
                                'label' => 'Examinar',
                                'required' => false,
                                )
)

这就是我在 .twig 文件中打印字段的方式:

<fieldset class="fieldset__upload">

    {{ form_widget(addressForm.card_file) }}

</fieldset>

标签是用enctype="multipart/form-data"创建的,同样,表单是isValid(),文件大小约为4kb,所以我认为不是超过文件大小的问题。

表单未附加到实体,$form->getData() 正确返回所有其他字段。

有什么想法吗?提前谢谢你

【问题讨论】:

  • 你执行了$form->submit($request);或 $form->handleRequest($request); ?

标签: php forms symfony file-upload


【解决方案1】:

我想我找到了问题所在,它与 Symfony2 没有任何关系。

这个表单是通过AJAX提交的,到现在才知道serialize()不发送文件数据。

这完全是问题所在,我会尽快用正确的 JavaScript 代码更新答案。

编辑:

我使用 AJAX 的 jQuery Form 插件来上传文件:

http://www.malsup.com/jquery/form/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-20
    • 2013-07-16
    • 2013-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-26
    相关资源
    最近更新 更多