2016-11-25 51 views
3

我收到了在base64中編碼的POST請求圖像。我如何驗證該圖像?我試圖將它作爲臨時圖像保存在文件系統中,但是對於圖像的symfony約束並沒有像上傳的那樣通過它。也許我想念一些東西或者可以創造變壓器或新的約束?Symfony如何驗證在base64中編碼的傳入圖像?

我使用的symfony 2.8。

+0

>我試圖將其保存爲臨時圖像中的文件系統。怎麼樣? > symfony約束不會通過它就像沒有上傳一個。什麼是輸出? –

+0

@AndyGauge如果我沒有錯誤的消息是:「該文件無法上傳。」怎麼樣?使用UploadedFile。我生成這樣一個,並提出要求 –

+0

你可以編寫你的自定義驗證器檢查[imagecreatefromstring](http://php.net/manual/en/function.imagecreatefromstring.php)返回一個有效的響應。讓我知道你需要更多的信息 – Matteo

回答

1

你必須實現對給定的表單字段的自定義data transformer。它應該將數據轉換爲base64或從base64轉換數據。

+0

仍'該文件無法上傳.'錯誤:/ –

+0

然後,你已經實施/使用它錯了。如果你在base64字符串和<實體所期望的>(UploadedFile?)之間正確轉換,那麼驗證應該通過。 – ShiraNai7

+0

驗證使得調用[is_uploaded_file(http://php.net/is_uploaded_file),並且該文件沒有上傳,我們得到驗證錯誤。 –