下载csv文件适用于IE8但不适用于IE10

时间:2014-08-25 17:45:44

标签: csv download internet-explorer-10

我们公司最近"升级"从IE8到IE10。允许用户下载文件的网页停止正常运行。现在,IE10只是在用户等待他的文件时挂起。这些页面仍可在最新版本的Chrome中使用。

我看了How do I get csv file to download on IE? Works on firefox 11并尝试使用我的代码,但没有用。

另外一点信息:停止工作的页面在按钮单击事件中具有以下代码。当代码在页面加载事件中时,即使在IE10中,EXACT相同的代码(尽管具有不同的文件名)仍然有效。

FileInfo file = new FileInfo(@"C:\Reports\" + OutputFileName); // "report.csv"
Context.Response.Clear();
Context.Response.ClearHeaders();
Context.Response.ClearContent();
Context.Response.AddHeader("Content-Disposition", "attachment; filename=" + file.Name);
Context.Response.AddHeader("Content-Length", file.Length.ToString());
Context.Response.ContentType = "text/csv";
Context.Response.Flush();
Context.Response.TransmitFile(file.FullName);
Context.Response.End();

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

此代码有效。在发射之后有冲洗来完成这个伎俩。

FileInfo file = new FileInfo(@"C:\Reports\" + OutputFileName); // "report.csv"
Context.Response.Clear();
Context.Response.ClearHeaders();
Context.Response.ClearContent();
Context.Response.AddHeader("Content-Disposition", "attachment; filename=" + file.Name);
Context.Response.AddHeader("Content-Length", file.Length.ToString());
Context.Response.ContentType = "text/csv";
Context.Response.TransmitFile(file.FullName);
Context.Response.Flush();
HttpContext.Current.ApplicationInstance.CompleteRequest();