【问题标题】:Special chars in query string查询字符串中的特殊字符
【发布时间】:2016-04-22 17:52:31
【问题描述】:

我正在传递一个包含文件名的查询字符串参数。

default.aspx?file=Fame+ adlabs.xmlFame+ adlabs.xml 是服务器上的实际文件名)。文件名有“+”和空格。

当我从查询字符串中检查文件名时,如下所示:

   var fileName = Request.QueryString["file"];

变量文件名中没有“+”。它读作"Fame adlabs.xml" & 因此我得到一个找不到文件的异常。我无法重命名 xml 文件。有人可以指导我正确的方向吗?

谢谢

【问题讨论】:

  • 你可以找到你的答案here
  • @iuliu.net 非常感谢,这解决了问题。

标签: c# asp.net url query-string


【解决方案1】:

如果您尝试在 C# 中的服务器上执行此操作:

String FileName = "default.aspx?";

String FullURL = FileName + HttpUtility.UrlEncode("Fame + adlabs.xml");

String Decoded = HttpUtility.UrlDecode(FullURL);

【讨论】:

    【解决方案2】:

    您应该在发送之前将 URL 编码到您的 javascript 中:

    var name = "Fame+ adlabs.xml";
    var url = "default.aspx?file=" + encodeURIComponent(name);
    

    注意以下字符不起作用:~!*()'

    【讨论】:

    • 感谢您的回复。不幸的是,我无法更改发件人页面上的代码,我必须从重定向页面处理此问题。
    • 哇。粗鲁的菲利普,粗鲁。
    猜你喜欢
    • 2011-10-08
    • 2012-03-23
    • 1970-01-01
    • 2022-01-19
    • 2011-05-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多