0

我正在使用 asp.net mvc3。我正在使用 dataannotation 和 Jquery unobtrusive 进行服务器端和客户端验证。如何验证仅接受图像文件扩展名的文件上传。需要与其他文件完全相同。我是否需要为服务器端和客户端创建自定义验证器?提前致谢

4

1 回答 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 回答