Quiero convertir esta ruta física "C:\bla\bla\Content\Upload\image.jpg"
a la ruta del servidor como "/Content/Upload/image.jpg"
.¿Cómo obtener la ruta del servidor de la ruta física?
¿Cómo puedo hacer eso?
Quiero convertir esta ruta física "C:\bla\bla\Content\Upload\image.jpg"
a la ruta del servidor como "/Content/Upload/image.jpg"
.¿Cómo obtener la ruta del servidor de la ruta física?
¿Cómo puedo hacer eso?
se puede usar algo así:
public static class Extensions {
public static string RelativePath(this HttpServerUtility utility, string path, HttpRequest context)
{
return path.Replace(context.ServerVariables["APPL_PHYSICAL_PATH"], "/").Replace(@"\", "/");
}
}
y le llamaremos
Server.RelativePath(path, Request);
¿No es esto lo contrario de lo que pidió OP? – GvS
Lo siento, reescribo la respuesta –
gracias, es una buena solución pero prefiero usar HttpServerUtilityBase en lugar de HttpServerUtility abnd HttpRequestBase en lugar de HttpRequestBase. trabajando bien también –
puede hacer lo siguiente para obtener la ruta relativa.
String filePath = @"C:\bla\bla\Content\Upload\image.jpg";
String serverPath = Request.PhysicalPath;
String relativePath = filePath.Substring(serverPath.Length, filePath.Length - serverPath.Length);
¿Dónde? En el lado del cliente o del lado del servidor? – jsalonen
@jsalonen - lado del servidor – Freshblood
posible duplicado de [ruta absoluta ASP.NET de vuelta a la ruta relativa a la web] (http://stackoverflow.com/questions/3164/asp-net-absolute-path-back-to-web- relative-path) –