当前位置:编程学习 > C#/ASP.NET >>

[求助]关于下载后关闭页面的问题,谢谢

需求是:由于下载页面是业务过程中弹出的,因此需要在下载页面点击下载后关闭下载页面

代码:
            //一个脚本管理类,关闭本窗口
            ClientScriptManager cs = Page.ClientScript;
            JScript.ScriptManager(cs, "window.close()");            
            //开始下载
            if (File.Exists(tempFile))
            {
                FileInfo file = new FileInfo(tempFile);
                Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8");
                Response.AddHeader("Content-Disposition", "attachment; filename=" + Server.UrlEncode(file.Name));
                Response.AddHeader("Content-length", file.Length.ToString());
                Response.ContentType = "appliction/octet-stream";
                Response.WriteFile(file.FullName, true);
                Response.End();
              }
问题:下载完成后,并未关闭下载页面,跟踪有可能的问题是,response下载时弹出下载提示框,选择保存下载后,页面就停止活动了,注册的脚本window.close()未执行,试着将Response.End()去掉,还是不行,试着“关闭本窗口”的两行代码用多线程执行也不行,就剩下60分了,求前辈指点谢谢 --------------------编程问答-------------------- 这种下载方式不可能关闭页面 除非换种下载方式 --------------------编程问答--------------------
引用 1 楼 mylover123 的回复:
这种下载方式不可能关闭页面 除非换种下载方式


给个建议呗,换种啥方式呢? --------------------编程问答--------------------
引用 2 楼 ctjsun 的回复:
引用 1 楼 mylover123 的回复:
这种下载方式不可能关闭页面 除非换种下载方式


给个建议呗,换种啥方式呢?

什么下载都要这样 

迅雷下载吧。

添加Download.aspx页。

FileStream f= new FileStream("", FileMode.Open);  
byte[] buffer = new byte[f.Length];  
f.Read(buffer, 0, buffer.Length);  
f.Close();  
Response.ContentType = "application/octet-stream";  
Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode("", System.Text.Encoding.UTF8));  
Response.BinaryWrite(buffer);  
Response.Flush();  
Response.End();   


参考
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,