我用asp.net实现文件下载程序
用浏览器自带下载工具可以正常下载页面内连接的文件
但如果弹出迅雷下载界面时,总是在下载网址显示http://localhost:1989/FileDownload/Download.aspx
另存名称:Download.aspx下面是我的代码,请问如何修改,让使用迅雷也能正常下载对应文件protected void Page_Load(object sender, EventArgs e)
    {
        //获取共享的文件列表        //获取存放文件的目录
        string directoryPath = Server.MapPath("~/Files/");
        //创建目录对象
        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();    }

解决方案 »

  1.   

    直接写一个文件地址让迅雷直接捕获
    http://topic.csdn.net/u/20090715/10/af055c50-eaf4-45c2-8ccd-74fe4410f166.html
    参考
      

  2.   

    我现在要一个能让所有下载工具都能下载的通用代码
    光用uploadfile控件能实现吗
    大家有没现成的实例
    谢谢提供
      

  3.   

    近期发的几个.net疑问贴都没得到圆满解决
    csdn的.net版块是我预计得太热闹
    还是比我想象的热闹,跟了几个回复,帖子一下就沉了
    不想SQL Server版,基本每个问题都能跟踪到问题解决
      

  4.   

    [align=right][/align]
      

  5.   

    我也遇到这个问题,最后我换超链接方式来做下载,看看对你有没有帮助。
    Label2.Text = " <a   href= '" + 文件目录 + " '> 点击下载附件 </a> "
      

  6.   

    我也遇到这样的问题了,不过我用浏览器自带的下载工具下载也是坏的文件,而且不管什么类型的文件大小都一样,用txt文件试了试,内容是当前页面的html代码。用迅雷下载不管什么类型的文件直接都是XX.aspx,很无语,可能是电脑系统或环境有什么问题,我用别的电脑是没这个问题的,谁能解决啊?