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>");
            }

        }

  

posted on 2015-01-29 10:58  技术引领未来-李亮  阅读(3029)  评论(0编辑  收藏  举报