我的代码是:
 // 获得将要下载地址(后来根据功能应该是从数据库中读出)
            string filepath = this.txtDownload.Text.Trim();
            //获得将要下载传地址中取出的文件名
            string fileName = System.IO.Path.GetFileName(filepath);
            Response.Clear();
            Response.ContentType = "application/octet-stream";
            Response.AddHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
            Response.Flush();
我不知道对不对,还请老鸟帮忙看看

解决方案 »

  1.   

     protected void Page_Load(object sender, EventArgs e)
        {
            //获取共享的文件列表
            
            //获取存放文件的目录
            string directoryPath = Server.MapPath("~/UploadFiles/");
            //创建目录对象
            DirectoryInfo dir = new DirectoryInfo(directoryPath);
            //获取目录下的所有文件
            FileSystemInfo[] infos = dir.GetFileSystemInfos();
             ListItem myitem;
            //遍历文件集合,将所有的文件用listbox显示
            foreach (FileSystemInfo myfile in infos)
            {
                //创建一个listitem新项
                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;
            //关闭ViewState以提高速度
            this.EnableViewState = false;
            //定义输出文件编码及类型和文件名
            Response.ContentEncoding = System.Text.Encoding.UTF8;
            Response.AppendHeader("Content-Disposition", "attachment;filename=" + saveFileName);
            //因为保存的文件类型不限,此处类型选择“unknown”。
            Response.ContentType = "application/unknown"; ;
            Response.WriteFile(SelectName);
            //清空并关闭输出流
            Response.Flush();
            Response.Close();
            Response.End();
        }
    调试成功
      

  2.   

      //遍历文件集合,将所有的文件用listbox显示 
            foreach (FileSystemInfo myfile in infos) 
            { 
                //创建一个listitem新项 
                myitem = new ListItem(); 
                myitem.Text = myfile.Name; 
                //包含完整路径的名称 
                myitem.Value = myfile.FullName; 
                //添加到列表中 
                ListBox1.Items.Add(myitem); 
            } 
      

  3.   

    参考这个http://dotnet.aspx.cc/article/58ea3515-36f2-4fd9-ac89-eaf49f59816c/read.aspx