1

我已按照文档中的说明操作,了解如何使用 Doctrine 处理文件上传。

图片上传工作正常,但是当我上传其他文件类型时,即使我已经正确设置了 $file 属性上的注释,它也只会让文件上传,如下所示:

/**
 * @Assert\File(
 *     maxSizeMessage = "L'image ne doit pas dépasser 5Mb.",
 *     maxSize = "5000k",
 *     mimeTypes = {"image/jpg", "image/jpeg", "image/gif", "image/png"},
 *     mimeTypesMessage = "Les images doivent être au format JPG, GIF ou PNG."
 * )
 */
public $file;
4

2 回答 2

4

我刚刚发现问题来自 Product 实体。我在 Product 表单中添加了多个图像,但忘记将 Valid 断言放在 Product 实体上的 $images 属性中,如下所示:

/**
 * @ORM\ManyToMany(targetEntity="PS\StockBundle\Entity\Image", cascade={"persist"})
 * @Assert\Valid()
 */
private $images;

我在我的博客上写了一篇关于这里的文章https://web.archive.org/web/20141004165731/http://www.ennazk.com:80/validate-subforms-in-symfony2/#.Wdt9mBNSwnU

谢谢。

于 2013-01-01T13:11:33.033 回答
0

{"image/jpg", "image/jpeg", "image/gif", "image/png"},有效的json吗?因为这对我来说看起来不像是一个有效的 json(json 中的对象由 key=>value 对组成。)。如果 json 解码失败,则可能整个断言没有得到应用。我对教义了解不多,所以我可能错了。

于 2012-12-31T01:42:53.573 回答