URL absoluta de base + URL relativa en C #
Pregunta
Tengo una URL base:
http://my.server.com/folder/directory/sample
Y uno relativo:
../../other/path
¿Cómo obtener la URL absoluta de esto? Es bastante sencillo usar la manipulación de cadenas, pero me gustaría hacerlo de forma segura, usando la clase Uri
o algo similar.
Es para una aplicación estándar de C #, no para ASP.NET.
Solución
var baseUri = new Uri("http://my.server.com/folder/directory/sample");
var absoluteUri = new Uri(baseUri,"../../other/path");
O
Uri uri;
if ( Uri.TryCreate("http://base/","../relative", out uri) ) doSomething(uri);
Otros consejos
Algunos podrían estar buscando una solución Javascript que permita la conversión de URL 'sobre la marcha' al depurar
var absoluteUrl = function(href) {
var link = document.createElement("a");
link.href = href;
return link.href;
}
usar como:
absoluteUrl("http://google.com")
http://google.com/
o
absoluteUrl("../../absolute")
http://stackoverflow.com/absolute
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow