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エンティティの$imagesプロパティにValidアサートを設定するのを忘れていました。

/**
 * @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のオブジェクトはキー=>値のペアで構成されています)。json デコードが失敗した場合、アサーション全体が適用されない可能性があります。私は教義についてあまり知らないので、間違っているかもしれません。

于 2012-12-31T01:42:53.573 に答える