我开发的应用程序,允许用户下载一个excel定期的内容(不更大然后几MB)文件下载文件不起作用IE8。在一些网页上
在IE9的文件被下载的完美,但在IE8的一些允许下载不起作用的网页。
一个新的页面是打开并立即被关闭,而不显示下载栏。
缓存控制标头设置为私有。
我禁用了所有的IE8添加。
我已经匹配的从服务器同时在网页的响应,它允许文件保存和一个不工作,严丝合缝(除了路径)
我不知道为什么在某些情况下,该文件获得完美的下载和其他人不。
这里是我用来下载文件的服务器端代码:
protected void GetExportedFile()
{
string filename = Form("filename");
if (string.IsNullOrEmpty(filename))
{
Logger.Instance.Write("GetExportedFile is missing the parameter filename");
Response.Redirect("ErrorPage.aspx");
}
string filePath = Context.Server.MapPath("****/****/" + filename);
Response.ClearHeaders();
Response.ClearContent();
SetContentType(ContentType.Excel);
Response.AddHeader("Content-Disposition", string.Format("attachment; filename={0}", filename));
Response.WriteFile(filePath);
Response.Flush();
try
{
File.Delete(filePath);
}
catch (Exception ex)
{
Logger.Instance.Write(
"GetExportedFile failed to delete the file '" + filePath +
"', Error: " + ex.ToString(), "Error");
}
try
{
Response.End();
}
catch (ThreadAbortException ex)
{
//Don't add anything here.
//because if you write here in Response.Write,
//that text also will be added to your text file.
}
}
我不得不提,虽然我不认为这是相关的是,没有对IE8的工作下载我之前做一些Ajax调用来获得通知,如果Excel的一代已经完成,而在工作的页面上,我不做这个过程。
我也想补充一点,我的应用程序驻留在应用防火墙(F5)后面,停用时使IE8上所有下载的工作,这个问题我不是没有看到在响应任何变化。
谢谢
您的文件名变量是否包含文件扩展名? – 2013-04-13 16:50:42
是的文件扩展名是xlsx – AMember 2013-04-13 19:51:33