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

Fre*_*ood 9 asp.net-mvc path relative-path virtual-path asp.net-mvc-3

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

我怎样才能做到这一点 ?

Tom*_*uλa 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(@"\", "/");
        }
    }
Run Code Online (Sandbox Code Playgroud)

你打电话

Server.RelativePath(path, Request); 
Run Code Online (Sandbox Code Playgroud)

  • 谢谢,它的好解决方案,但我更喜欢使用HttpServerUtilityBase而不是HttpServerUtility abnd HttpRequestBase而不是HttpRequestBase.工作也很好. (2认同)