Абсолютный URL-адрес из базы + относительный URL-адрес в C#

StackOverflow https://stackoverflow.com/questions/128990

  •  02-07-2019
  •  | 
  •  

Вопрос

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

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

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

../../other/path

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

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

Это было полезно?

Решение

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);

Другие советы

Некоторые могут искать решение 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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top