MVC 数据注释文件扩展不起作用
MVC Data Annotation FileExtensions not working
我需要上传一个 .XLSX 文件并且我想限制其他文件格式
我的代码
[Display(Name = "File Upload")]
[FileExtensions(Extensions = ".xlsx")]
public HttpPostedFileBase VendorFileType { get; set; }
REFERENCE LINK
能够不受任何限制地上传文件(验证无效)
我在 MVC 5 上工作。任何人都可以共享简单的示例,因此可以实现限制(仅使用数据注释(无 jquery / javascript)
文件扩展名数据注释仅对字符串有效data.i 借助帮助解决了这个问题调用的验证属性是自定义服务器端验证。
1.first 在项目的根目录上创建一个名为 Validation 的文件夹。
2.on 此文件夹创建一个名为 FileExtensionValidation.this 的 class,如下代码所示:
public class FileExtensionsValidation : ValidationAttribute
{
protected override ValidationResult IsValid(object value,ValidationContext validationContext)
{
if (value != null)
{
HttpPostedFileWrapper file = (HttpPostedFileWrapper)value;
string extention = Path.GetExtension(file.FileName);
if (extention != ".xlsx")
{
return new ValidationResult(".xlsx only");
}
}
return ValidationResult.Success;
}
}
3.on首页添加
Using ProjectName.ValidationFolderName;
4.attach 任何文件上传上方的验证:
public class FileUploadViewModel:BaseViewModel
{
[Required]
[FileExtensionsValidation]
public HttpPostedFileBase FileUpload { get; set; }
}
我需要上传一个 .XLSX 文件并且我想限制其他文件格式
我的代码
[Display(Name = "File Upload")]
[FileExtensions(Extensions = ".xlsx")]
public HttpPostedFileBase VendorFileType { get; set; }
REFERENCE LINK
能够不受任何限制地上传文件(验证无效) 我在 MVC 5 上工作。任何人都可以共享简单的示例,因此可以实现限制(仅使用数据注释(无 jquery / javascript)
文件扩展名数据注释仅对字符串有效data.i 借助帮助解决了这个问题调用的验证属性是自定义服务器端验证。
1.first 在项目的根目录上创建一个名为 Validation 的文件夹。
2.on 此文件夹创建一个名为 FileExtensionValidation.this 的 class,如下代码所示:
public class FileExtensionsValidation : ValidationAttribute
{
protected override ValidationResult IsValid(object value,ValidationContext validationContext)
{
if (value != null)
{
HttpPostedFileWrapper file = (HttpPostedFileWrapper)value;
string extention = Path.GetExtension(file.FileName);
if (extention != ".xlsx")
{
return new ValidationResult(".xlsx only");
}
}
return ValidationResult.Success;
}
}
3.on首页添加
Using ProjectName.ValidationFolderName;
4.attach 任何文件上传上方的验证:
public class FileUploadViewModel:BaseViewModel
{
[Required]
[FileExtensionsValidation]
public HttpPostedFileBase FileUpload { get; set; }
}