在.NET 4.0中,对于url来说,IO.Path.GetFileName
的等效函数是什么?
答案 0 :(得分:14)
Uri
课程是你的朋友。
提供统一资源标识符(URI)的对象表示,并可轻松访问URI的各个部分。
IsFile
会尝试确定Uri
是否确实指向某个文件。
使用Segements
属性获取文件名(它将是最后一段)。
Uri uri = new Uri("http://example.com/title/index.htm");
var filename = uri.Segments[uri.Segments.Length - 1];
// filename == "index.htm"
答案 1 :(得分:2)
您可能会坚持创建Uri对象,或者如果您关心性能,请使用与此类似的东西:
public class UriHelpers
{
public static string GetFileNameFromUrl(string url)
{
string lastSegment = url.Split('/').Last();
return lastSegment.Substring(0, lastSegment.IndexOf('?') < 0 ? lastSegment.Length : lastSegment.IndexOf('?'));
}
}
答案 2 :(得分:0)
您可以使用Server.MapPath()映射虚拟路径中的物理路径。
此外,HTTPUtility中有许多方法可以帮助您映射各种不同类型的路径。
答案 3 :(得分:0)
有许多方法,主要描述here
基本上可以利用Uri类,如果需要,可以使用字符串标记。