我想验证文件类型以确保用户正在上传类型为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;
}
这是一个无瑕疵的方式来检查文件类型,或可以被愚弄?