Получить файлы в папке

В моем приложении MVC у меня есть следующие пути:

  • /содержание/изображения/полный
  • /содержание/изображения/превью

Как я мог бы в моем контроллере С# получить список всех файлов в папке с большими папками?

Edit

Насколько наилучшим образом поддерживается Server.MapPath?

У меня теперь есть DirectoryInfo di = new DirectoryInfo(Server.MapPath("/content/images/thumbs") );, но не считаю это правильным.

Есть ли лучшая практика в MVC для этого или выше все еще правильно?

Ответы

Ответ 1

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

Это позволит получить все файлы в каталоге в массив строк.

Ответ 2

У .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>