У меня возникает следующая ошибка, когда пользователь пытается загрузить файл с недопустимыми символами в имени файла (например, «John's Test.pdf»).
В клиенте обнаружено потенциально опасное значение Request.Files (имя файла = "John's Tests.pdf").
Я попытался добавить ValidateInput(false)
к действию контроллера и AllowHtml
к свойству модели, но это не работает. Добавление requestValidationMode="2.0"
в раздел httpRuntime в файле Web.config работает, но я не хочу менять режим проверки.
<httpRuntime requestValidationMode="2.0" requestPathInvalidCharacters="" />
Как разрешить использование недопустимых символов в именах файлов или есть способ удалить недопустимые символы до запуска проверки ASP.NET?
Вот мой код:
[HttpPost]
[ValidateInput(false)]
public ActionResult UploadTicketAttachment(UploadTicketAttachmentModel model)
{
...
}
public class UploadTicketAttachmentModel
{
public int Id { get; set; }
[AllowHtml]
public IList<HttpPostedFileBase> Files { get; set; }
}