C#의 Base + Relative URL의 절대 URL
문제
기본 URL이 있습니다.
http://my.server.com/folder/directory/sample
그리고 상대적인 것 :
../../other/path
이것으로부터 절대 URL을 얻는 방법은 무엇입니까? 문자열 조작을 사용하는 것은 꽤 축소하지만, 나는 이것을 안전하게 사용하고 싶습니다. Uri
클래스 또는 비슷한 것.
ASP.NET가 아닌 표준 A C# 앱을위한 것입니다.
해결책
var baseUri = new Uri("http://my.server.com/folder/directory/sample");
var absoluteUri = new Uri(baseUri,"../../other/path");
또는
Uri uri;
if ( Uri.TryCreate("http://base/","../relative", out uri) ) doSomething(uri);
다른 팁
일부는 디버깅 할 때 URL을 '즉시'전환 할 수있는 JavaScript 솔루션을 찾고있을 수 있습니다.
var absoluteUrl = function(href) {
var link = document.createElement("a");
link.href = href;
return link.href;
}
사용 :
absoluteUrl("http://google.com")
http://google.com/
또는
absoluteUrl("../../absolute")
http://stackoverflow.com/absolute
제휴하지 않습니다 StackOverflow