【发布时间】:2011-08-25 06:20:49
【问题描述】:
我有一个 Uri 对象 - 它的什么属性会给我相对路径?我怎样才能用这个 Uri 破译文件的相对路径。我正在用 c# 编码。
【问题讨论】:
-
您在使用 asp.net 吗?相对于当前页面?
-
是 aps.net 并且相对于当前路径
我有一个 Uri 对象 - 它的什么属性会给我相对路径?我怎样才能用这个 Uri 破译文件的相对路径。我正在用 c# 编码。
【问题讨论】:
使用Uri.MakeRelativeUri Method (System)
直接来自 MSDN:
// Create a base Uri.
Uri address1 = new Uri("http://www.contoso.com/");
// Create a new Uri from a string.
Uri address2 = new Uri("http://www.contoso.com/index.htm?date=today");
// Determine the relative Uri.
Console.WriteLine("The difference is {0}", address1.MakeRelativeUri(address2));
此外,如果您一直在寻找来自域根目录的相对路径,您也可以使用myUri.AbsolutePath
这是 Uri 调试视图的屏幕截图,底部有两个 MakeRelativeUri 示例,使用以下 Uri 对象
Uri myUri = new Uri("http://msdn.microsoft.com/en-us/library/system.uri.makerelativeuri.aspx#Y600");
Uri myHost = new Uri("http://msdn.microsoft.com/");
Uri myHost2 = new Uri("http://msdn.microsoft.com/en-us/");
【讨论】:
您可以像下面这样为 Uri 添加相对路径。
var Url = new Uri("/something/test", UriKind.Relative);
【讨论】: