Symfony2 - maxSize参数无法处理文件上传

Mil*_*loš 1 php validation file-upload symfony

我在Symfony2项目上有一个文件上传功能.

我正在设置maxSize参数:

$manuscript_file = new File(array(
        'maxSize' => '20M',
        'mimeTypes' => array(
            'application/msword',
            'application/zip',
        ),
        'mimeTypesMessage' => 'Please upload a valid manuscript file. Valid types are: doc, docx, zip',
    ));
Run Code Online (Sandbox Code Playgroud)

问题是,当我尝试上传2M或3M word文件时,我收到验证消息:

 The file is too large. Allowed maximum size is 20M bytes.
Run Code Online (Sandbox Code Playgroud)

你有没有面对过这个?或者我的代码错了.

我从Symfony文档中获取了示例:

Symfony文件 - 验证约束参考

Syb*_*bio 10

我已经面临这个问题,所以我发布了这个解决方案(我认为这对你来说是同样的问题).

这是Symfony 的已知错误,实际上,当文件大小对于PHP配置而言过高时,框架将显示验证器错误消息,而不是获得经典的PHP错误.

在当前的PHP配置中,您可能将最大上载大小限制为2M,因此Symfony显示错误的错误.

因此,请检查您的php.ini文件(Linux上的/etc/php5/apache2/php.ini)并增加max_upload_size以适合您的字段:

upload_max_filesize = 20M
Run Code Online (Sandbox Code Playgroud)

别忘了重启apache: apache2ctl restart

现在它应该工作!

请注意,可能修复了最后一个Symfony版本,另一个解决方案可能是将您的项目升级到sf2.3(但我不确定)^^