Asp.net获取服务器指定文件夹目录文件并提供下载的方法
本文实例讲述了Asp.net获取服务器指定文件夹目录文件并提供下载的方法。分享给大家供大家参考。具体实现方法如下:
stringdirPath=HttpContext.Current.Server.MapPath("uploads/"); if(Directory.Exists(dirPath)) { //获得目录信息 DirectoryInfodir=newDirectoryInfo(dirPath); //获得目录文件列表 FileInfo[]files=dir.GetFiles("*.*"); string[]fileNames=newstring[files.Length];
//临时数据表 DataTabledt=newDataTable(); dt.Columns.Add("FileName"); foreach(FileInfofileInfoinfiles) { DataRowdr=dt.NewRow(); dr["FileName"]=fileInfo.Name; dt.Rows.Add(dr);
} Repeater1.DataSource=dt; Repeater1.DataBind(); }
if(e.CommandName=="down") { try { stringDownloadFileName="~/uploads/"+e.CommandArgument.ToString();//文件路径 stringfilepath=Server.MapPath(DownloadFileName); stringfilename=Path.GetFileName(filepath); FileInfofile=newFileInfo(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>"); } }