【发布时间】:2020-08-13 21:01:09
【问题描述】:
社区大家好,
我正在构建一个上传图片的作品集页面,我创建了一个类作品集,我在其中保存了类图像的集合。
class PortofolioPage
/**
* @ORM\OneToMany(targetEntity="App\Entity\Image", mappedBy="natureGallery", cascade={"persist"})
*/
private $natureGallery;
和我的表单类型:
use Symfony\Component\Validator\Constraints\Image;
use Symfony\Component\Form\Extension\Core\Type\FileType;
->add('natureGallery', FileType::class, [
'multiple' => true,
'label' => 'form.natureGallery',
'mapped' => false,
'required' => false,
'constraints' => [
new Image([
'maxSize' => '5M',
])
],
])
没有约束部分,我可以上传图像,但我的 maxSize 为 2M,如果约束部分处于活动状态,我会收到错误消息“此值应为字符串类型”(我想我不喜欢创建新的图像它得到一个数组),如果我停用多个静止图像不允许我上传超过 2M。
我已经修改了我的 php.ini,post_max_size = 50M 和 upload_max_filesize = 50M,并按照https://symfony.com/doc/4.4/controller/upload_file.html 中的文档进行操作,并检查了 symfonycast,但我没有找到解决方案。
感谢您的宝贵时间和愉快的编码
【问题讨论】:
-
也许这可以帮助你link
-
感谢 DaszuOne,我检查了 validator.yaml, dataclass=> null 并将其用作类中的断言,没有任何效果,尝试删除多个选项。让我烦恼的另一件事是,即使我指定了最大 5M,当我提交高于它的内容时它一直告诉我最大是 2M,还有另一个文件告诉 symfony 文件的最大?
-
我现在没有别的想法了。我稍后会尝试重现您的情况,也许我们可以解决这个问题。您使用的是 symfony 4.4,对吗?
-
是的,我使用的是 symfony 4.4,我检查过。这是我在 github github.com/erethilclaw/photoBlog 中的项目,我想这与我与班级的关系有关,没有很好地收集收藏...检查 symfonyCasts 教程(是 v5)也许我发现了一些东西。并感谢您的帮助 DaszuOne。
-
你好@DaszuOne,Using All 约束修复了字符串错误,但我仍然无法上传超过 2M 的图像
->add('natureGallery', FileType::class, ['multiple' => true, 'label' => 'form.natureGallery', 'mapped' => false, 'required' => false, 'constraints' => new All([ new Image([ 'maxSize' => '5M' ]) ]), ])中尝试并在类@Assert\All(@Assert\Image(maxSize="5M"))
标签: php symfony file-upload symfony4