Reputation: 22770
In my MVC application I have the following paths;
How would I, in my c# controller, get a list of all the files within my thumbs folder?
Edit
Is Server.MapPath still the best way?
I have this now DirectoryInfo di = new DirectoryInfo(Server.MapPath("/content/images/thumbs") );
but feel it's not the right way.
is there a best practice in MVC for this or is the above still correct?
Upvotes: 23
Views: 52129
Reputation: 9139
.NET 4.0 has got a more efficient method for this:
Directory.EnumerateFiles(Server.MapPath("~/Content/images/thumbs"));
You get an IEnumerable<string>
on which you can iterate on the view:
@model IEnumerable<string>
<ul>
@foreach (var fullPath in Model)
{
var fileName = Path.GetFileName(fullPath);
<li>@fileName</li>
}
</ul>
Upvotes: 53
Reputation: 38430
Directory.GetFiles("/content/images/thumbs")
That will get all the files in a directory into a string array.
Upvotes: 10