我有一个System.Uri,例如:
var uri = new Uri("http://www.domain.com/foo/bar");
如何仅获取相对URI:
/foo/bar
我有一个System.Uri,例如:
var uri = new Uri("http://www.domain.com/foo/bar");
如何仅获取相对URI:
/foo/bar
Console.WriteLine(uri.PathAndQuery);
// or
Console.WriteLine(uri.AbsolutePath);
...对以下两种情况都输出如下结果...
/foo/bar
反过来,即从相对路径获取绝对URI:
1.获取所需目录。 要向下移动一步,只需将\添加到目录中,例如 @"c:\someDirectory\something\something\foo\bar"
如果Directory.GetCurrentDirectory返回@"c:\someDirectory",则执行以下操作:
Uri uri = new Uri(Directory.GetCurrentDirectory() +
@"\something\something\" + relative_path);
或
Uri uri = new Uri(Directory.GetCurrentDirectory() +
"\\something\\something\\" + relative_path);
DirectoryInfo directory =
Directory.GetParent(Directory.GetCurrentDirectory()).Parent;
Uri uri = new Uri(directory.FullName + relative_path);
directory.FullName 是字符串类型,表示您想要的绝对路径,将其与相对路径连接起来并生成新的 Uri。这是一个解决向后跳转的方法。