如何在上传的文件名中允许请求无效字符?

时间:2018-06-28 16:16:59

标签: asp.net asp.net-mvc validation security web-config

当用户尝试上传文件名中包含无效字符的文件时,出现以下错误(例如“ 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; }
}

0 个答案:

没有答案