获取文件夹中的文件

时间:2010-01-11 04:26:53

标签: asp.net-mvc file

在我的MVC应用程序中,我有以下路径;

  • /内容/图像/全
  • /内容/图像/拇指

我如何在我的c#控制器中获取thumb文件夹中所有文件的列表?

修改

Server.MapPath仍然是最好的方式吗?

我现在有DirectoryInfo di = new DirectoryInfo(Server.MapPath("/content/images/thumbs") );,但觉得这不是正确的方法。

MVC中是否有最佳实践,或者上述内容仍然正确吗?

2 个答案:

答案 0 :(得分:43)

.NET 4.0有一个更有效的方法:

Directory.EnumerateFiles(Server.MapPath("~/Content/images/thumbs"));

您可以使用IEnumerable<string>来迭代视图:

@model IEnumerable<string>
<ul>
    @foreach (var fullPath in Model)
    {
        var fileName = Path.GetFileName(fullPath);
        <li>@fileName</li>
    }
</ul>

答案 1 :(得分:6)

Directory.GetFiles("/content/images/thumbs")

这会将目录中的所有文件都放到字符串数组中。