2016-01-23 27 views
2

我使用請求類進行驗證。我有了這段代碼中有一個請求類:Laravel 5.1驗證失敗,正確的MIME /擴展

public function rules() 
{ 
    $rules = [ 
     'attachment' => 'mimes:png,jpg,gif' 
    ]; 
} 

做一個$request->file('attachment')->getClientMimeType()在我的控制器返回image/png

然而,每當我試圖發送一個png文件,我仍然得到驗證錯誤:「附件必須是一個類型爲:png,jpg,gif的文件。」

我使用的是被稱爲Paw休息客戶端通過一個Multipart form

將文件發送到後端我錯過了一步?

編輯:我不能使用image作爲驗證規則,因爲我最終想開始接受pdf/doc和其他格式(image失敗btw)。到目前爲止,PDF和doc都沒有通過驗證。

+0

請發表格式html部分 – Gal

+0

我使用一個名爲Paw的REST客戶端將請求發送到後端。我會更新相應的問題 – Xecure

+1

您是否嘗試使用'image'規則? – user2094178

回答

1

根據W3Schools當您上傳文件時,必須提multipart/form-data所以沒有字符會被編碼,這可能會導致驗證失敗。

+0

我的'Content-Type'標題設置爲'multipart/form-data' – Xecure

+0

你能從瀏覽器網絡標籤發佈請求頭嗎? (只需複製所有頭文件以確保沒有任何錯誤) – Gal

+0

@Xecure也可以確保該文件實際上是一個'png'類型? – Gal