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

本文关键字:文件 列表 存储 数组 ASP NET 磁盘 | 更新日期: 2023-09-27 18:07:17

在我的站点中,我需要从特定目录读取所有文件,将它们存储到列表或某个对象中,并将它们输出到页面,以便当用户单击它们时下载它们。意思是,我将在页面上以超链接的形式显示文件的文件名,当用户点击它时,他们将被提示下载他们点击的任何内容。

我正在使用ASP。。NET MVC和c#。我想我的模型应该是这样的:

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. 指定文件夹中的每个文件都需要读取

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

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

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

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

编辑至于从文件中读取名称,控制器应该循环遍历每个文件夹,并像这样提取名称和路径