目標:用戶上傳圖像,驗證程序檢查以確保它是用戶上傳的圖像文件,如果不是圖像則返回消息,如果不是是。if語句似乎沒有評估過false
Issue:單擊上傳按鈕時,無論上傳的文件是否爲圖像或圖像,始終返回驗證器消息。
重點領域:在Validator類中,行System.out.println(partValueContentType);
已將內容類型寫入控制檯,例如, image/jpeg
,但是當它在if
聲明中測試時,它似乎根本沒有評估內容類型。
String partValueContentType = part.getContentType();
System.out.println(partValueContentType);
if (!partValueContentType.equals("image/jpeg")
|| !partValueContentType.equals("image/jpg")
|| !partValueContentType.equals("image/gif")
|| !partValueContentType.equals("image/png"))
{
FacesMessage msg = new FacesMessage("File is not an image.",
"Acceptable image types (jpeg, jpg, gif, png)");
msg.setSeverity(FacesMessage.SEVERITY_ERROR);
throw new ValidatorException(msg);
}
這是怎麼造成的?我該如何解決?
取一杯好咖啡,看看它AG艾因。用「true」或「false」替換每個單獨的條件。它到底看起來好嗎? – BalusC
爲了調試目的,請包含實際的'partValueContentType'值。即'FacesMessage msg = new FacesMessage(「文件不是圖像」, 「可接受的圖像類型(jpeg,jpg,gif,png),但得到了」+ partValueContentType「;' –
@DilumRanatunga:您還需要一杯咖啡。 – BalusC