我正在使用 asp.net mvc3。我正在使用 dataannotation 和 Jquery unobtrusive 进行服务器端和客户端验证。如何验证仅接受图像文件扩展名的文件上传。需要与其他文件完全相同。我是否需要为服务器端和客户端创建自定义验证器?提前致谢
问问题
999 次
1 回答
0
你可以这样做:如果你在模型中使用属性
公共类 ValidateFileAttribute : ValidationAttribute { public override bool IsValid(object value) { int MaxContentLength = 1 * 1024 * 700; //3 MB string[] AllowedFileExtensions = new string[] { ".jpg", ".gif", ".png", ".pdf" };
var file = value as HttpPostedFileBase;
if (file == null)
return false;
else if (!AllowedFileExtensions.Contains(file.FileName.Substring(file.FileName.LastIndexOf('.'))))
{
ErrorMessage = "Please upload Your image of type: " + string.Join(", ", AllowedFileExtensions);
return false;
}
else if (file.ContentLength > MaxContentLength)
{
ErrorMessage = "Your image is too large, maximum allowed size is : " + (MaxContentLength / 1024).ToString() + "MB";
return false;
}
else
return true;
}
}
于 2013-03-19T13:14:30.963 回答