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.

War es hilfreich?

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
scroll top