我有一个MVC4网站(www.testsite.com/test) 我还有一个单独的目录来存储可下载的文件(www.testsite.com/downloads)
我已将下载目录配置为可在IIS中浏览。
如何读取目录的内容并在MVC中生成文件列表?
我已阅读DirectoryInfo GetFiles()
方法,但它仅适用于本地目录,而/ Downloads目录位于测试服务器上。
答案 0 :(得分:1)
首先,为文件夹创建Web.config
值。像这样:
<appSettings>
<add key="DownloadsDirectory" value="C:\path\to\folder" />
</appSettings>
对于应用程序的任何给定实例(本地开发实例,测试服务器实例,生产服务器实例等),您需要更新该实例的Web.config
以指定与该实例相关的文件夹实例。他们都不必使用相同的文件夹,每个文件夹都可以使用适当的文件夹。因此,您的开发机器不需要访问生产服务器的文件夹,只需将其指向您计算机上的某个目录。
其次,从目录中读取时使用该值。例如:
var fileNames = Directory.GetFiles(ConfigurationManager.AppSettings["DownloadsDirectory"]);
当然,如果ConfigurationManager.AppSettings["DownloadsDirectory"]
值之前你想要检查代码,那么在尝试使用它之前,如果有&#39;那么就会产生一个配置无效的错误。没有价值。您甚至可以将Directory.Exists()
与该值一起用作另一个检查,如果它不存在则再次引发友好错误。
重点是,如果您想获取目录中文件的信息,Directory
或DirectoryInfo
或System.IO
中的许多其他对象几乎就是您所需要的。 d使用。