URL中有特殊字符怎么处理?

门外的码农 2016-12-01 07:44:44

string url = "客人/OWNSHOE/2013/MACY'S/10.12/CARINE-.xls"; // MACY'S面有一个特殊字符'
Response.Write("<script language='javascript'>window.open('" + url + "');</script>"); // 因为有特殊字符,运行出错


HTTP Error 404.0 - Not Found
您要找的资源已被删除、已更名或暂时不可用。
...全文
697 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
这个路径的 urlencode 结果应该为:
http://localhost:53192/CBD--TO+%e5%ae%a2%e4%ba%ba/BROWNSHOE/2013/MACY%27S/10.16/CARINE-10.16.2013.xls
你计算了个什么出来?自己对比一下! 即使你计算了 UrlEncode,我估计你也是写了错误的计算方法。
  • 打赏
  • 举报
回复
引用 7 楼 superlsf 的回复:
试过多种方法,包括HttpUtility.UrlEncode,都没达到目的 在浏览器,手工输入:http://localhost:53192/CBD--TO 客人/BROWNSHOE/2013/MACY'S/10.16/CARINE-10.16.2013.xls是正常的 但用代码生成的:http://localhost:53192/CBD--TO%20客人/BROWNSHOE/2013/MACY'S/10.16/CARINE-10.16.2013.xls 就不行了 MACY'S 变成了MACY'S
这个路径的 urlencode 结果应该为: ttp://localhost:53192/CBD--TO+%e5%ae%a2%e4%ba%ba/BROWNSHOE/2013/MACY%27S/10.16/CARINE-10.16.2013.xls 你计算了个什么出来?自己对比一下!
门外的码农 2016-12-02
  • 打赏
  • 举报
回复
引用 9 楼 meng1503159 的回复:
刚才回复的好像没成功, 改成这样MACY\\'S,加双斜杠,最简单的做法.
这种方法通用性不太强,因为我不清楚以后还会遇到其它特殊字符,所有的文件名都是别人命名的
门外的码农 2016-12-02
  • 打赏
  • 举报
回复
这个问题的关键是后台把数据与gridview绑定后,重新从gridview取值,个别字符被转义了 可以参考这个贴:http://bbs.csdn.net/topics/392057223 HttpUtility.HtmlDecode( gridview中取到的值 ); 这个是没转义的,然后再用以字符流的形式下载文件
meng1503159 2016-12-02
  • 打赏
  • 举报
回复
刚才回复的好像没成功, 改成这样MACY\\'S,加双斜杠,最简单的做法.
  • 打赏
  • 举报
回复
还有一个方法就是 多写一个界面或者方法:把路径当参数传入。 在后台获取参数 进行下载.
  • 打赏
  • 举报
回复
 HttpUtility.UrlEncode
正怒月神 版主 2016-12-01
  • 打赏
  • 举报
回复
URL转义, encodeURI
EnForGrass 2016-12-01
  • 打赏
  • 举报
回复
http://blog.csdn.net/zljjava/article/details/38374455
zhanglong_longlong 2016-12-01
  • 打赏
  • 举报
回复
url加密。
门外的码农 2016-12-01
  • 打赏
  • 举报
回复
试过多种方法,包括HttpUtility.UrlEncode,都没达到目的 在浏览器,手工输入:http://localhost:53192/CBD--TO 客人/BROWNSHOE/2013/MACY'S/10.16/CARINE-10.16.2013.xls是正常的 但用代码生成的:http://localhost:53192/CBD--TO%20客人/BROWNSHOE/2013/MACY'S/10.16/CARINE-10.16.2013.xls 就不行了 MACY'S 变成了MACY'S
YeomanAmj 2016-12-01
  • 打赏
  • 举报
回复
System.Web.HttpUtility.UrlEncode()

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧