1

好的。也许我做的不对,但我可以告诉你我在做什么,也许有人可以帮忙。

我的应用程序位于 http:\localhost\MyApplication (c:\inetpub\wwwroot\MyApplication)。现在我在 http:\localhost\MyApplication\ImagePaths 中创建了一个虚拟目录(指向 d:\images 文件夹)

在我的一个 aspx 页面中,我试图列出 http:\localhost\MyApplication\ImagePaths 虚拟目录中的所有图像。
我试过: DirectoryInfo dir = new DirectoryInfo(Server.MapPath("~/ImagePaths")); 目录包含 c:\inetpub\wwwroot\images !!??!?!?

这样做的正确方法是什么?我只想在我的应用程序之外创建一个目录并列出我的应用程序中的内容。

谢谢

4

2 回答 2

4

我会使用<appSettings>web.config 的部分并将其存储在那里:

<appSettings>
   <add key="ImagesPath" value="D:\Images"/>
</appSettings>

然后从代码中,您可以通过以下方式访问它:

string imagesPath = ConfigurationManager.AppSettings["ImagesPath"];

和:

DirectoryInfo dir = new DirectoryInfo(imagesPath);
于 2012-06-13T18:21:00.690 回答
0

~ 的意思是“从我的虚拟目录的根目录”。然后,您从那里构建一条不存在的路径,并询问它在磁盘上的位置。

即使该文件夹不存在,您也会得到答案。

为什么不使用配置来说明可以找到图像的位置,而不是硬编码虚拟目录?无论如何,只要您将这些 vdir 托管在不同的机器上,您当前的方法就会出现问题,因此最好使用 config 来存储 unc 路径。

于 2012-06-13T18:17:29.080 回答