我想驗證文件類型以確保用戶正在上傳類型爲JPEG,GIF或PNG的圖像。因爲它檢查MIME內容類型,所以不用檢查文件擴展名,而是使用HttpPostedFile.ContentType更安全。HttpPostedFile.ContentType是驗證上傳文件的完美方式嗎?
protected void cvValidateImageType_ServerValidate(object source, ServerValidateEventArgs args)
{
if (fupImage.HasFile)
{
args.IsValid = (fupImage.PostedFile.ContentType.ToLower() == "image/jpg" ||
fupImage.PostedFile.ContentType.ToLower() == "image/jpeg" ||
fupImage.PostedFile.ContentType.ToLower() == "image/pjpeg" ||
fupImage.PostedFile.ContentType.ToLower() == "image/gif" ||
fupImage.PostedFile.ContentType.ToLower() == "image/x-png" ||
fupImage.PostedFile.ContentType.ToLower() == "image/png");
}
else
args.IsValid = true;
}
這是一個無瑕疵的方式來檢查文件類型,或可以被愚弄?