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)