相关疑难解决方法(0)

ASP.NET MVC 3:DataAnnotations.FileExtensionsAttribute不起作用

根据MSDN文档,默认情况下FileExtensionsAttribute(.NET 4.5)应该只允许我上传jpg,jpeg,gif和png文件 - 这就是我想要的.

我尝试上传没有属性的jpg,它可以工作.大.然后我将属性添加到我的视图模型中..

[FileExtensions(ErrorMessage = "Please specify a valid image file (.jpg, .jpeg, .gif or .png)")]
public HttpPostedFileBase ImageFile { get; set; }
Run Code Online (Sandbox Code Playgroud)

没有快乐.验证失败,并显示ErrorMessage.最重要的是,似乎没有办法指定任何允许的自定义文件扩展名.我最终扩展了FileExtensionsAttribute并使用我自己的验证逻辑,它按预期工作.但为什么这种方式不起作用?

如果需要,将发布整个控制器并查看.我使用此示例作为上载逻辑的基础,但使用DataAnnotations.FileExtensionsAttribute而不是Microsoft.Web.Mvc.FileExtensions .. 如何在ASP.NET MVC中上载图像?

asp.net-mvc-3

8
推荐指数
2
解决办法
2万
查看次数

无法获取MVC 4 FileExtensions属性来处理ViewModel属性

我需要上传一个csv文件,我想将它的扩展名限制为.csv

所以我将follow属性添加到我的ViewModel:

[FileExtensions(ErrorMessage = "Must choose .csv file.",Extensions = "csv,txt")]
public HttpPostedFileBase File { get; set; }
Run Code Online (Sandbox Code Playgroud)

在我看来,我有以下几点:

@Html.TextBoxFor(m => m.File, new { type = "file"})
@Html.ValidationMessageFor(m => m.File)
Run Code Online (Sandbox Code Playgroud)

但是,只要它命中我的"ModelState.IsValid"检查它就会返回invalid,并显示错误消息"Must choose .csv file".

我假设我只是错过了一个参数,但我还没有找到任何已经使用的样本.

data-annotations asp.net-mvc-4

8
推荐指数
1
解决办法
9660
查看次数