相对路径转URI

3

我有一个Uri对象 - 它的哪个属性可以给我相对路径?如何解密具有此Uri的文件的相对路径。我正在使用c#编码。


1
你正在使用ASP.NET吗?相对于当前页面? - Bala R
是的,aps.net和相对于当前路径。 - amateur
2个回答

8

使用Uri.MakeRelativeUri 方法 (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 debug


2
您可以像下面这样添加相对路径到Uri中。
var Url = new Uri("/something/test", UriKind.Relative);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接