Согласно документации MSDN, по умолчанию FileExtensionsAttribute (.NET 4.5) должен позволить мне загружать только файлы jpg, jpeg, gif и png - вот что я хочу ,ASP.NET MVC 3: DataAnnotations.FileExtensionsAttribute не работает
Я попытался загрузить jpg без атрибута, он работает. Отлично. Затем я добавил атрибут мой взгляд модель ..
[FileExtensions(ErrorMessage = "Please specify a valid image file (.jpg, .jpeg, .gif or .png)")]
public HttpPostedFileBase ImageFile { get; set; }
Нет радости. Проверка завершается ошибкой, и отображается сообщение ErrorMessage. Кроме того, не существует способа указать разрешенные пользовательские расширения файлов. Я закончил тем, что расширил атрибут FileExtensionsAttribute и использовал свою собственную логику проверки, которая работает так, как ожидалось. Но почему так не работает?
Выведет весь контроллер и, если необходимо, просмотрит его. Я использовал этот пример в качестве основы для логики, добавления видео, но с использованием DataAnnotations.FileExtensionsAttribute вместо Microsoft.Web.Mvc.FileExtensions .. How do I upload images in ASP.NET MVC?
Спасибо. Вы были правы в FileExtensionsAttribute, не зная, как получить доступ к имени файла. Кажется, ожидает, что строка будет проверяться. –
Кроме того, как примечание, я понял, что сообщение об ошибке является свойством, тогда как строка фильтра расширений файлов может быть установлена только как необязательный аргумент конструктора (это свойство только для чтения). Синтаксис немного отличается для каждого. –