行。也许我做得不对,但我可以告诉你我在做什么,也许有人可以提供帮助。
我的应用程序位于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”)); Dir包含c:\ inetpub \ wwwroot \ images !! ??!?!?
这样做的正确方法是什么?我只想在我的应用程序之外创建一个目录,并在我的应用程序中列出内容。
由于
答案 0 :(得分:4)
我会使用web.config的<appSettings>
部分并将其存储在那里:
<appSettings>
<add key="ImagesPath" value="D:\Images"/>
</appSettings>
然后从代码中,您可以通过以下方式访问它:
string imagesPath = ConfigurationManager.AppSettings["ImagesPath"];
和
DirectoryInfo dir = new DirectoryInfo(imagesPath);
答案 1 :(得分:0)
〜表示“从我的虚拟目录的根目录”。然后,您将从那里构建一条不存在的路径,并询问它在磁盘上的位置。
即使该文件夹不存在,您也会得到答案。
为什么不使用配置来说明可以找到图像的位置,而不是硬编码虚拟目录?一旦你在不同的机器上托管这些vdir,你当前的方法就会出现问题,因此最好使用config来存储unc路径。