如何将磁盘中的文件列表存储到C#ASP.NET中的数组中?

时间:2015-08-10 21:52:46

标签: c# asp.net asp.net-mvc file file-io

在我的网站中,我需要读取特定目录中的所有文件,将它们存储到列表或某个对象中,然后将它们输出到页面,以便在用户点击它们时下载它们。这意味着,我将在页面上显示文件的文件名作为超链接,当用户点击它时,系统会提示他们下载他们点击的内容。

我正在使用带有C#的ASP.NET MVC。我想我的模型会是这样的:

public class PageViewModel
{
    public string Username {get; set; }
    //public List FileList {get; set; } ??    
}

然后在我的控制器中,我实际上会执行文件的获取:

public ViewResult SomePage(PageViewModel vm)
{
    vm.Username = "AlbatrossCafe";

    //loop or something that iterates over all files in the folder
    //{
    //    vm.SomeList.push(currentFile);
    //}
}

然后在我看来我会把它们渲染出来。那部分很容易。

我有一个问题找出哪个对象来存储文件以及如何实际读取它们从磁盘

我们只需要说明我需要从桌面上的文件夹中读取所有文件:C:\Users\Default\Desktop\file_folder。我应该使用什么对象以及如何从该文件夹中将文件读入该对象?

要记住的事情:

  1. 我不需要文件的实际文本内容
  2. 需要阅读指定文件夹中的每个文件

1 个答案:

答案 0 :(得分:1)

你的模型看起来应该是这样的。因为您只需要显示名称和URL。

Public class Resource
{
    Public string URL {get; set;}
    Public string Name {get;set;}
}

创建这些列表并将名称绑定到您的值,并将HREF的URL绑定到显示元素。

修改 至于从文件中读取名称,您的控制器应遍历每个文件夹并提取名称和路径,如this