如何获取物理路径的服务器路径?

时间:2011-06-22 07:34:21

标签: asp.net-mvc asp.net-mvc-3 path relative-path virtual-path

我想将此物理路径"C:\bla\bla\Content\Upload\image.jpg"转换为"/Content/Upload/image.jpg"之类的服务器路径。

我该怎么做?

2 个答案:

答案 0 :(得分:11)

你可以使用类似的东西:

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

答案 1 :(得分:2)

您可以执行以下操作来获取相对路径。

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

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