Symfony 4表单上的文件约束不起作用

时间:2019-11-20 13:36:44

标签: mongodb symfony file-upload

我正在尝试在表单的文件上传字段中添加约束。

这是我的表单类型的一部分:

use Symfony\Component\Form\Extension\Core\Type\FileType;
use Symfony\Component\Validator\Constraints\File;

class MovieType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('images', FileType::class, [
                'label' => 'Image(s)',
                'multiple' => true,
                'required' => false,
                'constraints' => [
                    new File([
                        'maxSize' => '4M',
                        'mimeTypes' => [
                            'image/jpeg',
                        ],
                        'mimeTypesMessage' => 'Please upload a valid image. '
                    ])
                ]
            ])
        ;
    }
}

它确实添加了验证,但是当我尝试上载2.5Mb jpeg时,消息如下:文件太大。其大小不应超过2 MiB。并且该值必须为字符串类型。

我的课也很简单...

/**
 * @MongoDB\Field(type="collection")
 */
private $images;

    public function getImages()
{
    return $this->images;
}

public function setImages($images)
{
    $this->images = $images;

    return $this;
}

在将文件存储在MongoDB文档中之后,我只会保留文件名。

1 个答案:

答案 0 :(得分:0)

也许php.ini中的upload_max_filesize值设置为2MB。 如果不是这种情况,请尝试:

'maxSize' => '4000000'