[英]Relative path using Uri
Uri test = new Uri(new Uri(“http://www.google.com/test”),“foo”);
但是Uri測試=新的Uri(新的Uri(“http://www.google.com/test/”),“foo”);
返回http://www.google.com/foo/test
似乎最后一個斜線非常重要,是否有統一的方法可以在所有情況下返回http://www.google.com/foo/test
那么,您需要確保您的基URI以/
字符結尾:
public Uri CombineUris(string baseUri, string relativeUri)
{
if (!baseUri.EndsWith("/")) {
baseUri += "/";
}
return new Uri(new Uri(baseUri), relativeUri);
}
確保使用尾隨/
傳遞根URI。 最后的斜線是非常重要的。 考慮http://www.example.com/foo/bar.html, bar2.html
。 它應該解析為http://www.example.com/foo/bar2.html
。
Uri test = new Uri(new Uri(GetSafeURIString("http://www.google.com/test")), "foo");
private static string GetSafeURIString(uri)
{
if(uri == null)
return uri;
else
return uri.EndsWith("/") ? uri : uri + "/";
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.