Quiero validar el tipo de archivo para asegurarme de que el usuario está cargando una imagen de tipo JPEG, GIF o PNG. En lugar de verificar la extensión del archivo, pensé que usar HttpPostedFile.ContentType sería más seguro ya que verifica el tipo de contenido MIME.¿HttpPostedFile.ContentType es una forma perfecta de validar un archivo cargado?
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;
}
¿Es esta una forma perfecta de verificar el tipo de archivo, o puede ser engañado?