当用户尝试上传文件名中包含无效字符的文件时,出现以下错误(例如“ John' s Test.pdf”)。
从客户端检测到一个潜在危险的Request.Files值(文件名=“ John' s Tests.pdf”)。
我尝试将ValidateInput(false)
添加到控制器操作中,并将AllowHtml
添加到model属性中,但是它不起作用。在Web.config文件的httpRuntime部分中添加requestValidationMode="2.0"
可以,但是我不想更改验证模式。
<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; }
}