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; }     
}