我開發的應用程序,允許用戶下載一個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