0

Symfony1 mime 类型验证导致错误消息,因为它无法验证高分辨率图像。我在 validate.yml 中的验证代码如下:

mime_types:       
      - 'image/jpg'
      - 'image/jpeg'
      - 'image/png'
      - 'image/gif'
      - 'image/bmp' 
      - 'application/pdf'       
    mime_types_error: The allowed file extensions are:jpg, png, gif, bmp and pdf

但是如果尝试上传大小为 2-3 MB 的高分辨率图像,它会抛出 mime 类型错误消息,如:

The allowed file extensions are:jpg, png, gif, bmp and pdf

虽然文件类型属于.jpg。谁能告诉我这是一个 symfony1 sfvalidator 错误吗?我该如何克服呢?

4

1 回答 1

1

您是否尝试过正常的 sfValidatorFile ?它在我的 sf1.4 应用程序中经常使用,我从来没有遇到任何问题。

$this->setWidget('file', new sfWidgetFormInputFile(array()));
$this->setValidator('file', new sfValidatorFile(array(
        'required'  => true,
        'path'      => sfConfig::get("sf_upload_dir").'/images',
        'max_size' => 5120000,
        'mime_types' => array('image/jpeg','image/pjpeg','image/png','image/x-png')
    ),
    array(
        'max_size' => 'Your file is too big',
        'mime_types' => 'This type of file is not allowed',
        'required' => 'Please choose a file'
    )
));

在您想要的表单类中使用它并自定义“mime_types”。

如果这不起作用,您可以尝试使用Imagick。我希望这有帮助!

于 2012-12-13T14:04:17.550 回答