Asp.net获取服务器指定文件夹目录文件并提供下载的方法

  本文实例讲述了Asp.net获取服务器指定文件夹目录文件并提供下载的方法。分享给大家供大家参考。具体实现方法如下:

  

复制代码 代码如下:
string dirPath = HttpContext.Current.Server.MapPath("uploads/");

  if (Directory.Exists(dirPath))

  {

  //获得目录信息

  DirectoryInfo dir = new DirectoryInfo(dirPath);

  //获得目录文件列表

  FileInfo[] files = dir.GetFiles("*.*");

  string[] fileNames = new string[files.Length];

  //临时数据表

  DataTable dt = new DataTable();

  dt.Columns.Add("FileName");

  foreach (FileInfo fileInfo in files)

  {

  DataRow dr = dt.NewRow();

  dr["FileName"] = fileInfo.Name;

  dt.Rows.Add(dr);

  }

  Repeater1.DataSource = dt;

  Repeater1.DataBind();

  }

  if (e.CommandName == "down")

  {

  try

  {

  string DownloadFileName = "~/uploads/" + e.CommandArgument.ToString();//文件路径

  string filepath = Server.MapPath(DownloadFileName);

  string filename = Path.GetFileName(filepath);

  FileInfo file = new FileInfo(filepath);

  Response.Clear();

  Response.ContentType = "application/octet-stream";

  Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(filename, System.Text.Encoding.UTF8));

  Response.AddHeader("Content-length", file.Length.ToString());

  Response.Flush();

  Response.WriteFile(filepath);

  }

  catch

  {

  Response.Write("<script>alert('没有找到下载的源文件')</script>");

  }

  }

  希望本文所述对大家的asp.net程序设计有所帮助。