您好:
    我用二进制流的方式实现下载,下载的文件全都来自于一个文件夹。
    凡是txt类型的,下载后打开,除了该txt文件自身内容外还会自动加入该.aspx页面全部的html源代码(就像点击查看源代码那样)。再检查发现文件名被修改,如题所述,将xxx.txt改为xxx[1].txt,  xxx[2].txt等。
    注:非文件同名导致:虽然说来自于SQL Server的记录可能不同的记录会外联相同的url,但对于只存在一个url的情况仍然如上所述
    请大家帮帮忙。
    另,请不要告诉我用Response.Redirect()

解决方案 »

  1.   

    第一个问题加Response.End()应可解决。第二个问题描述不清,文件名是从数据库获取还是怎样的?
      

  2.   

    “第二个问题”其实只是对第一个问题的描述,旨在说明来源于数据库,简单的说就是表A和表B,表A存名称,表B存Url
      

  3.   

    按照您的说法我加上了Response.End();执行时提示错误:正在中止线程,不解
      

  4.   


        protected void Page_Load(object sender, EventArgs e)
        {
            Response.ContentType = "text/plain";
            Response.AddHeader("Content-Disposition", "attachment; filename=abc.txt"); //设置用户保存默认名称为abc.txt
            Response.WriteFile(@"d:\a.txt"); //把a.txt输出
            Response.End();
        }