【发布时间】:2015-06-30 18:58:37
【问题描述】:
我有一个文件夹来保存图像 C:\inetpub\wwwroot\Images\eZone\Albums\Album1。 我的 mvc 应用程序位于另一个文件夹 C:\inetpub\wwwroot\ezone 中。在 IIS 7 中,我创建了一个虚拟目录 images,它映射到 ezone 站点下的 C:\inetpub\wwwroot\images。当我运行我的 ezone 应用程序从专辑 1 加载图像时
DirectoryInfo di = new DirectoryInfo(Server.MapPath("/images/ezone/albums/album1"));
它返回不正确的“C:\inetput\wwwroot\ezone\images\ezone\albums\album1”。我错过了什么?
【问题讨论】:
-
从 MapPath 字符串中去掉“ezone”似乎很奇怪。我希望返回值是“C:\inetpub\wwwroot\ezone\images\ezone\albums\album1”。注意第二个ezone
-
另外,您的图像是否存在于网络应用文件夹之外?
-
马克,实际上,出于安全原因,我们的管理员建议我们将图像文件夹放在单独的驱动器上。我试图看看我是否可以让它在同一个驱动器上工作。
-
如果您不使用 Server.MapPath 而只使用 DirectoryInfo(fullPath) 会怎样。这行得通吗?
-
它假定文件夹位于根目录 C:\ 所以我尝试从文件夹中检索文件的下一行代码会引发异常“找不到路径的一部分 'C:\Images\ ezone\albums\album1'."
标签: asp.net-mvc iis-7 server.mappath