正如我们所知道的,虚拟目录可以链接到具有不同名称的文件夹,我如何获得虚拟目录的物理路径?如何获取虚拟目录物理路径
我一直在尝试使用HttpContext.Current.server.MapPath,但它返回了我的物理路径和我在参数中发送的路径,即使该目录不存在或者它存在具有不同名称。
例:
C:\布拉布拉\网站\应用1 \ Imaageesss - 光盘上
应用1 \图像(ISS,我的虚拟目录中)
但是,如果我在做的MapPath “/ Images”它永远不会给我 C:\ blabla \ Sites \ Application1 \ Imaageesss但是C:\ inetpub \ wwwroot \ 不是真正的目录链接到的图像。
以下所有答案都不能解决问题。我认为MapPath不够智能来检查它是否是虚拟IIS目录。它只是将应用程序根路径添加到您提供的路径。不幸的是,即使在深入搜索网页后,我也找不到解决方案。 – needfulthing
找到了方法,请参阅下面的答案。 – needfulthing
在两种不同的情况下,我有类似的问题。在一种情况下,我不得不调用'Server.MapPath(“/ Application1/Images/image.jpg”)'而不是'Server.MapPath(“/ Images/image.jpg”)',另一种情况是我在我的应用程序中错误引用了我的虚拟目录名称。我得到了同样的结果,直到我做了每件事情之前,OP都经历着这样的结果。只是以为我会加上... – ionalchemist