Абсолютный URL из базы + относительный URL в C # - PullRequest
29 голосов
/ 24 сентября 2008

У меня есть базовый URL:

http://my.server.com/folder/directory/sample

И относительный:

../../other/path

Как получить из этого абсолютный URL? Использование манипулирования строками довольно просто, но я бы хотел сделать это безопасным способом, используя класс Uri или что-то подобное.

Это стандартное приложение на C #, а не ASP.NET.

Ответы [ 2 ]

48 голосов
/ 24 сентября 2008
var baseUri = new Uri("http://my.server.com/folder/directory/sample");
var absoluteUri = new Uri(baseUri,"../../other/path");

OR

Uri uri;
if ( Uri.TryCreate("http://base/","../relative", out uri) ) doSomething(uri);
0 голосов
/ 19 июля 2016

Некоторые могут искать решение Javascript, позволяющее преобразовывать URL-адреса «на лету» при отладке

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...