2012-12-31 93 views
1

我已按照文檔中的說明操作,以便如何使用Doctrine處理文件上載。聲明文件未驗證

圖片上傳工作正常,但是當我上傳一些其他的文件類型,它只是讓即使我已正確設置這樣的$文件屬性中的註釋文件上傳:

/** 
* @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; 
+0

你的代碼看起來不錯。 – hakre

+0

是的,但沒有觸發任何錯誤。 –

+0

然後你有幾個選項1.)一切都好2.)你不運行斷言3.)那些運行,但你不處理結果。從迄今爲止顯示的代碼和從迄今給出的描述中可以看出,一切都是可能的。所以這需要進一步排除故障。 – hakre

回答

4

我剛剛發現問題來自產品實體。我添加多張圖片到產品的形式和我忘了把有效斷言到$圖像屬性的產品實體,像這樣:

/** 
* @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

謝謝。

+0

謝謝。它完美的工作。 – Tigin

+0

該文章不可用更多?你怎麼修好它的 ? –

+0

https://web.archive.org/web/20141004165731/http://www.ennazk.com:80/validate-subforms-in-symfony2/#。Wdt9mBNSwnU –

0

{"image/jpg", "image/jpeg", "image/gif", "image/png"},有效的JSON ?因爲這對我來說看起來不是一個有效的json(json中的對象由key =>值對組成)。如果json解碼失敗,那麼可能整個斷言不會被應用。儘管如此,我並不太瞭解教義,所以我可能是錯的。

+0

查看文件限制頁面上的[基本使用情況下的註釋標籤](http://symfony.com/doc/2.0/reference/constraints/File.html#basic-usage)。它是'{'string','string'}'。 –

+0

明白了,好吧,如果它是正確的,我想它應該工作。 – Xnoise