Согласно документации 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; }
Никакой радости. Проверка не выполняется, и отображается сообщение об ошибке. Вдобавок ко всему, похоже, нет способа указать какие-либо разрешенные пользовательские расширения файлов. В итоге я расширил атрибут FileExtensionsAttribute и использовал собственную логику проверки, которая работает, как и ожидалось. Но почему этот способ не работает?
При необходимости разместит весь контроллер и просмотр. Я использовал этот пример в качестве основы для логики загрузки, но использовал DataAnnotations.FileExtensionsAttribute вместо Microsoft.Web.Mvc.FileExtensions .. Как загружать изображения в ASP.NET MVC?