首页 新闻 赞助 找找看

Response.BinaryWrite后跳转页面很慢,文件越大越明显

0
悬赏园豆:20 [已解决问题] 解决于 2013-04-15 10:46
                    Byte[] fileBytes = dt.Rows[0][0] as byte[];
                    Response.Buffer = true;
                    Response.ClearContent();
                    Response.ClearHeaders();
                    //指定http名称和值 
                    Response.AddHeader("content-disposition", "attachment; filename=" + HttpUtility.UrlEncode(dt.Rows[0][1].ToString(), System.Text.Encoding.UTF8));
                    //指定文件类型
                    Response.ContentType = "application/octet-stream";
                    //Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
                    Response.BinaryWrite(fileBytes);
                    Response.Flush();
                    Response.End();

如上,从数据中去文件流,然后通过Response.BinaryWrite提供下载,可以在下载完成后,我点击菜单跳转到其他页面的时候就会出现很卡的现象.跟踪了代码,下载的文件越大卡顿的时间就越长.
请大家帮忙分析下什么原因.在线等!!!!!!!急急急急急....

Seven_boy的主页 Seven_boy | 初学一级 | 园豆:50
提问于:2012-11-08 10:14
< >
分享
最佳答案
0

你这段代码写在page_load里面而没有放在!ispostback里?

收获园豆:5
飞来飞去 | 老鸟四级 |园豆:2057 | 2012-11-08 10:53

在dataGrid 的Command时间中.点击dataGrid文件列表中文件名称下载文件

Seven_boy | 园豆:50 (初学一级) | 2012-11-08 10:56

@The Seven floor: 

你的datagrid绑定事件写在哪里?

飞来飞去 | 园豆:2057 (老鸟四级) | 2012-11-08 11:02
其他回答(5)
1

难道是你的下载过程,游览器占用了很多的内存?

chenping2008 | 园豆:9836 (大侠五级) | 2012-11-08 10:16
0

增加一个 loading 特效

sym_cn | 园豆:798 (小虾三级) | 2012-11-08 10:16
0

是浏览器卡吧?弹出新窗口下载呢?

收获园豆:5
向往-SONG | 园豆:4853 (老鸟四级) | 2012-11-08 10:17
0

难道又触发了一次下载?你用fiddler跟踪一下呢

收获园豆:5
田林九村 | 园豆:2367 (老鸟四级) | 2012-11-08 10:27
0

增加一个 loading 特效

收获园豆:5
jason2013 | 园豆:1998 (小虾三级) | 2012-11-08 13:19
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册