我正在传递包含文件名的查询字符串参数。
default.aspx?file=Fame+ adlabs.xml
(Fame+ adlabs.xml
是服务器上的实际文件名)。文件名有" +" &安培;还有空格。
当我从查询字符串中检查文件名时,如下所示:
var fileName = Request.QueryString["file"];
变量文件名没有" +"在里面。它读作"Fame adlabs.xml"
&因此我得到一个文件未找到异常。我无法重命名xml文件。有人可以引导我走向正确的方向。
感谢
答案 0 :(得分:0)
您应该在发送之前将URL编码到您的javascript中:
var name = "Fame+ adlabs.xml";
var url = "default.aspx?file=" + encodeURIComponent(name);
请注意以下字符不起作用:~!*()'
答案 1 :(得分:0)
如果您尝试在C#中的服务器上执行此操作:
String FileName = "default.aspx?";
String FullURL = FileName + HttpUtility.UrlEncode("Fame + adlabs.xml");
String Decoded = HttpUtility.UrlDecode(FullURL);