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