从物理路径获取相对虚拟路径

时间:2011-05-21 11:30:40

标签: c# asp.net path

如何从asp.net中的物理路径获取相对虚拟路径? 反向方法如下:

Server.MapPath("Virtual Path Here");

但是上层方法的反面是什么?

3 个答案:

答案 0 :(得分:32)

也许this question正是您所寻找的。 在那里他们建议:

String RelativePath = AbsolutePath.Replace(Request.ServerVariables["APPL_PHYSICAL_PATH"], String.Empty);

答案 1 :(得分:25)

    public static string MapPathReverse(string fullServerPath)
    {            
        return @"~\" + fullServerPath.Replace(HttpContext.Current.Request.PhysicalApplicationPath,String.Empty);
    }

答案 2 :(得分:8)

您也可以这样做:

string relativePath = absolutePath.Replace(HttpContext.Current.Server.MapPath("~/"), "~/").Replace(@"\", "/");

优点是,您不需要HttpContext.Current.Request