我正在寻找一种简单的方法来获取文件扩展名不正确或没有给出的mime类型,类似于.Net中的这个问题.
我想验证文件类型以确保用户正在上传JPEG,GIF或PNG类型的图像.我没有检查文件扩展名,而是使用HttpPostedFile.ContentType会更安全,因为它会检查MIME内容类型.
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;
}
Run Code Online (Sandbox Code Playgroud)
这是检查文件类型的完美方式,还是可以被愚弄?