Как получить физический путь к серверу? - PullRequest
9 голосов
/ 22 июня 2011

Я хочу преобразовать этот физический путь "C:\bla\bla\Content\Upload\image.jpg" в путь к серверу, например "/Content/Upload/image.jpg".

Как я могу это сделать?

Ответы [ 2 ]

11 голосов
/ 22 июня 2011

вы можете использовать что-то подобное:

 public static class Extensions        {
        public static string RelativePath(this HttpServerUtility utility, string path, HttpRequest context)
        {
            return path.Replace(context.ServerVariables["APPL_PHYSICAL_PATH"], "/").Replace(@"\", "/");
        }
    }

и вы звоните

Server.RelativePath(path, Request); 
2 голосов
/ 22 июня 2011

Вы можете сделать следующее, чтобы получить относительный путь.

String filePath = @"C:\bla\bla\Content\Upload\image.jpg";

String serverPath = Request.PhysicalPath;
String relativePath = filePath.Substring(serverPath.Length, filePath.Length - serverPath.Length);
...