Symfony 2上传文件简单形式

时间:2014-05-23 08:07:38

标签: php symfony file-upload

你好我现在想简单上传没有数据库。

控制器内部:

public function UploadAction(Request $request)
{

    $form = $this->createFormBuilder( array('csrf_protection' => false))
        ->add('file', 'file')
        ->add('Send', 'submit')
        ->getForm();

    if ($form->isValid()) {
        $extension = $file->guessExtension();
        if (!$extension) {
            // extension cannot be guessed
            $extension = 'bin';
        }
        $file->move('blah', rand(1, 99999).'.'.$extension);
    }

    return $this->render(
        'FelekFosBundle:Plik:Upload.html.twig',
        array(
            'form' => $form->createView(),
        )
    );

}

此外,我想禁用csrf_protection仍然使用的代码似乎无效。

除了csrf_protection之外,

表单呈现得很好。仍然没有预先形成任何上传动作。我得到错误。

  

csrf_message CSRF令牌无效。请尝试重新提交   形式。

1 个答案:

答案 0 :(得分:0)

在测试$form->handleRequest($request);之前,您必须致电form_validity。 如果您不call handleRequest,则表单不会被提交。

选项位于createFormBuilder方法的参数2上。也许

$form = $this->createFormBuilder( null, array('csrf_protection' => false))

可能会更好。看看here