【发布时间】:2011-12-14 20:36:00
【问题描述】:
目前我们有一个解决方案,使用这个从 URL 中获取文件名
currentFile = Path.GetFileNameWithoutExtension(url);
我们发现,如果附加的查询字符串包含引号等字符,它会返回路径中的非法字符错误。
例如,如果 url 是
http:\\myurl.com\mypage.aspx?utm_content=This+Is+"Broken"
然后它不会得到文件名。有没有更好、更简洁的方式来获取“mypage”?
【问题讨论】:
-
你不能在调用 GetFileNameWithoutExtension 之前从 url 中删除查询字符串吗?
-
检查这个:stackoverflow.com/a/6015377/559144 如果它解决了您的问题,请投票给他 ;-)
-
你试过 Server.UrlEncode(url);在获取文件名之前?
-
请注意,URL 不需要引用文件,没有非法字符的名称仍然可以是非法文件名。