如何获取虚拟目录物理路径

Vin*_*ent 9 asp.net iis

我们知道虚拟指令可以链接到具有不同名称的文件夹,如何获取虚拟目录的物理路径?

我一直在尝试使用HttpContext.Current.server.MapPath,但它返回物理路径加上我在参数中发送的路径,即使该目录甚至不存在,或者它是否存在不同的名称.

例如:

C:\ blabla\Sites\Application1\Imaageesss - 光盘上

Application1\Images(在国际空间站,我的虚拟目录)

但是,如果我在"/ Images"上执行MapPath,它将永远不会给我C:\ blabla\Sites\Application1\Imaageesss但C:\ inetpub\wwwroot\Images这不是链接到的真实目录.

Tyl*_*son 11

Server.MapPath("~/Images")
Run Code Online (Sandbox Code Playgroud)

是正确的方法,因为"〜"引用了应用程序的根目录.


scw*_*scw 6

这对我有用:

string physicalPath =    
System.Web.Hosting.HostingEnvironment.MapPath(HttpContext.Current.Request.ApplicationPath);
Run Code Online (Sandbox Code Playgroud)