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提供下载,可以在下载完成后,我点击菜单跳转到其他页面的时候就会出现很卡的现象.跟踪了代码,下载的文件越大卡顿的时间就越长.
请大家帮忙分析下什么原因.在线等!!!!!!!急急急急急....
你这段代码写在page_load里面而没有放在!ispostback里?
在dataGrid 的Command时间中.点击dataGrid文件列表中文件名称下载文件
@The Seven floor:
你的datagrid绑定事件写在哪里?
难道是你的下载过程,游览器占用了很多的内存?
增加一个 loading 特效
是浏览器卡吧?弹出新窗口下载呢?
难道又触发了一次下载?你用fiddler跟踪一下呢
增加一个 loading 特效