在c#中从url获取文件名

本文关键字:获取 文件名 url 中从 | 更新日期: 2023-09-27 18:17:48

目前我们有一个解决方案,使用这个

从URL获取文件名
currentFile = Path.GetFileNameWithoutExtension(url);

我们发现,如果附加的查询字符串包含引号等字符,它将返回一个错误:Illegal characters in path.

例如url为

http:''myurl.com'mypage.aspx?utm_content=This+Is+"Broken"

那么它不会得到文件名。有没有更好、更干净的方式来获取"我的页码"?

在c#中从url获取文件名

使用this: Uri。AbsolutePath

Request.Url.AbsolutePath

我会找到?,如果它存在,剥离字符串的其余部分,然后使用它来GetFileNameWithoutExtension。

例如:

        string url;
        int index;
        index = url.IndexOf("?");
        if (index != -1)
        {
            url = url.Substring(0, index);
        }
        currentFile = Path.GetFileNameWithoutExtension(url);

使用HttpContext.Current.Request.PhysicalPath代替完整的URL作为Path的参数。GetFileNameWithoutExtension方法。

希望有帮助,