获取名称包含&;的文件时出现错误400(错误请求);C#ASP.NET MVC3中的字符
关于包含获取名称包含&;的文件时出现错误400(错误请求);C#ASP.NET MVC3中的字符,c#,asp.net-mvc-3,C#,Asp.net Mvc 3,关于包含和字符的文件名,我有一个问题 我必须得到一个名为:Test&TestAgain.jpg的图像。在ASP.NETMVC3应用程序中,在视图端,我将 Url.Content( "~/Content/Images/"+ filename ); 在Chrome中,我看到错误400错误请求,因为文件名包含& 我认为&用于查询字符串,浏览器将文件名解释为查询字符串 因为文件名不包含?,所以浏览器会抛出该错误。(潜在危险的请求。从客户端(&)检测到路径值。) 这是一种在不替换该字符的情况下解决此问题
和字符的文件名,我有一个问题
我必须得到一个名为:Test&TestAgain.jpg
的图像。在ASP.NETMVC3应用程序中,在视图端,我将
Url.Content( "~/Content/Images/"+ filename );
在Chrome中,我看到错误400错误请求,因为文件名包含&
我认为&
用于查询字符串,浏览器将文件名解释为查询字符串
因为文件名不包含?
,所以浏览器会抛出该错误。(潜在危险的请求。从客户端(&)检测到路径值。)
这是一种在不替换该字符的情况下解决此问题的方法?您需要找到以下路径:
Url.Content("~/Content/Images/" + HttpServerUtility.UrlEncode(filename));
编辑:
好像不行。我现在能想到的唯一方法是通过在注册表中设置来允许和启用:
// 32-bit IIS
HKLM\SOFTWARE\Microsoft\ASP.NET VerificationCompatibility = 1
// 64-bit IIS
HKLM\SOFTWARE\Wow6432Node\Microsoft\ASP.NET VerificationCompatibility = 1
不,它不起作用……我试了很多次。没有成功。不管怎样,浏览器都会解释&