首页 新闻 会员 周边 捐助

.net 实现 IE8下 文件下载

0
悬赏园豆:50 [已关闭问题]

 

ds = GetReportsDataSet(RD.ReportSQL)
        Dim CSVstring As String = ExportCSV(ds.Tables(0))
        Response.Clear()
        Response.ClearHeaders()
        Response.ClearContent()
        Response.ContentType = "text/plain"
        Response.AddHeader("content-disposition", "attachment; filename=" & RD.ReportTitle & ".csv")
        Response.AddHeader("Content-Length", CSVstring.Length.ToString)
        Response.Write(CSVstring)
        Response.Flush()
        Response.End()

实现 保存 Dataset 的数据为一个.csv文件到客户端,代码如下:

ds = GetReportsDataSet(RD.ReportSQL)        

Dim CSVstring As String = ExportCSV(ds.Tables(0))       

 Response.Clear()        

Response.ClearHeaders()        

Response.ClearContent()       

 Response.ContentType = "text/plain"        

Response.AddHeader("content-disposition", "attachment; filename=" & RD.ReportTitle & ".csv")        

Response.AddHeader("Content-Length", CSVstring.Length.ToString)       Response.Write(CSVstring)        

Response.Flush()       

 Response.End()

此代码在ie7中可以实现下载。但在ie8中没有反应。调试时,ie8下也会执行相应的后台代码,但客户端没有反应。请问如何解决。

 

Liujx的主页 Liujx | 初学一级 | 园豆:9
提问于:2010-03-08 10:33
< >
分享
其他回答(3)
0

确认下IE8和IE7下的IE设置是否一样?加个断点调试看看

风影极光 | 园豆:1573 (小虾三级) | 2010-03-08 13:42
0

将  Response.ContentType = "text/plain" 改为

Response.ContentType = "application/octet-stream";

ForFreeDom | 园豆:589 (小虾三级) | 2010-03-08 13:45
0

在不改变代码的前提下给你aspx页面中加入

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />

然后再测试下,如果还有问题就改变ContentType为application/octet-stream。
 

西越泽 | 园豆:10775 (专家六级) | 2010-03-08 14:06
0

我也遇到了这个问题,在客户端调用时,把window.open(url),改为,window.location.href=url后解决问题,这是IE8的一个BUG,服务器还是按照正常的设置就可以了,必要时改为强制下载文件,如:

ContentType="application/force-download";

Ron.Liang | 园豆:271 (菜鸟二级) | 2010-03-17 11:13
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册