Absolute URL von der Basis + relativer URL in C #
Frage
Ich habe eine Basis-URL:
http://my.server.com/folder/directory/sample
Und ein relativer:
../../other/path
Wie die absolute URL von diesem zu bekommen? Es ist ziemlich straighforward String-Manipulation, aber ich mag dies auf sichere Art und Weise tun, mit der Uri
Klasse oder etwas ähnliches.
Es ist für einen Standard eine C # app, keine ASP.NET ein.
Lösung
var baseUri = new Uri("http://my.server.com/folder/directory/sample");
var absoluteUri = new Uri(baseUri,"../../other/path");
oder
Uri uri;
if ( Uri.TryCreate("http://base/","../relative", out uri) ) doSomething(uri);
Andere Tipps
Einige könnten für Javascript-Lösung suchen, die Umwandlung von URLs ‚on the fly‘ erlauben würde, bei der Fehlersuche
var absoluteUrl = function(href) {
var link = document.createElement("a");
link.href = href;
return link.href;
}
verwenden wie:
absoluteUrl("http://google.com")
http://google.com/
oder
absoluteUrl("../../absolute")
http://stackoverflow.com/absolute
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow