我正在尝试在表单的文件上传字段中添加约束。
这是我的表单类型的一部分:
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文档中之后,我只会保留文件名。
答案 0 :(得分:0)
也许php.ini中的upload_max_filesize
值设置为2MB。
如果不是这种情况,请尝试:
'maxSize' => '4000000'