Я хочу проверить тип файла, чтобы убедиться, что пользователь загружает изображение типа 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;
}
Это безупречный способ проверить тип файла, или его можно обмануть?