文件下载

protected   void  Page_Load( object  sender, EventArgs e)
    
{
        
string directoryPath = Server.MapPath("UploadFiles/");//获取文件目录
        DirectoryInfo dir = new DirectoryInfo(directoryPath);//创建目录对象
        FileSystemInfo[] infos = dir.GetFileSystemInfos();//获取目录下所有文件
        ListItem myitem;
        
foreach (FileSystemInfo myfile in infos)//遍历文件集合,将所有的文件用listbox显示
        {
            myitem 
= new ListItem();
            myitem.Text 
= myfile.Name;
            myitem.Value 
= myfile.FullName;//包含完整路径的名称
            ListBox1.Items.Add(myitem);//添加到列表中
        }

    }

    
protected   void  Button1_Click( object  sender, EventArgs e)
    
{
        
string selectname = ListBox1.SelectedItem.Value;//文件全名
        string savefilename = ListBox1.SelectedItem.Text;//文件名字
        FileInfo finfo = new FileInfo(selectname);//创建一个文件实体,方便对文件操作

        
//清空文件流
        Response.Clear();
        Response.Charset
="utf-8";
        Response.Buffer 
= true;
        
this.EnableViewState = false;//关闭viewstate,提高速度
        Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8");
        Response.AppendHeader(
"Content-disposition","attachment;filename="+savefilename);
        Response.ContentType 
= "Application/unknown";//保存文件类型不限
        Response.WriteFile(selectname);
        
//清空并关闭文件流
        Response.Flush();
        Response.Close();
        Response.End();
    }

你可能感兴趣的:(文件下载)