Je veux convertir ce chemin physique "C:\bla\bla\Content\Upload\image.jpg"
au chemin du serveur comme "/Content/Upload/image.jpg"
.Comment obtenir le chemin du serveur du chemin physique?
Comment puis-je faire cela?
Je veux convertir ce chemin physique "C:\bla\bla\Content\Upload\image.jpg"
au chemin du serveur comme "/Content/Upload/image.jpg"
.Comment obtenir le chemin du serveur du chemin physique?
Comment puis-je faire cela?
vous pouvez utiliser quelque chose comme ça:
public static class Extensions {
public static string RelativePath(this HttpServerUtility utility, string path, HttpRequest context)
{
return path.Replace(context.ServerVariables["APPL_PHYSICAL_PATH"], "/").Replace(@"\", "/");
}
}
et que vous appelez
Server.RelativePath(path, Request);
N'est-ce pas l'inverse de ce que le PO a demandé? – GvS
Oh désolé, je réécris la réponse –
merci, sa bonne solution, mais je préfère utiliser HttpServerUtilityBase au lieu de HttpServerUtility abnd HttpRequestBase au lieu de HttpRequestBase. fonctionne bien aussi. –
Vous pouvez faire ce qui suit pour obtenir le chemin relatif.
String filePath = @"C:\bla\bla\Content\Upload\image.jpg";
String serverPath = Request.PhysicalPath;
String relativePath = filePath.Substring(serverPath.Length, filePath.Length - serverPath.Length);
Où? Du côté client ou côté serveur? – jsalonen
@jsalonen - côté serveur – Freshblood
duplication possible de [chemin absolu ASP.NET retour au chemin relatif au web] (http://stackoverflow.com/questions/3164/asp-net-absolute-path-back-to-web- relative-path) –