我想有可能使用戶從我們的網站下載一個Excel電子表格,具有一個按鈕,通過這個重定向:在下載IE8中HTTPS文件,使用ASP.NET
Response.Redirect(string.Format("../excel/ExcelForm.aspx?pathName=&fileNameDisplay={0}&fileNameUnique={1}", "spreadsheet.xls", fileName));
ASPX頁面剛剛發回的文件通過Response對象,像這樣:
Response.ContentType = "application/vnd.ms-excel";
Response.AddHeader("Content-Disposition", "attachment; filename=" + fileNameDisplay);
Response.WriteFile(Server.MapPath(pathName + fileNameUnique));
Response.Flush();
Response.End();
一切正常,我的機器就好了,但是當我們把它的服務器上,與NO-組合HTTPS緩存設置給我們一個錯誤,說「Internet Explorer無法下載[blahblahblah]」。顯示excel按鈕的頁面上的緩存設置:
HttpContext.Current.Response.Cache.SetCacheability(HttpCacheability.NoCache);
HttpContext.Current.Response.ExpiresAbsolute = DateTime.Now.AddDays(-1);
HttpContext.Current.Response.Expires = 0;
HttpContext.Current.Response.AddHeader("Pragma", "no-cache");
HttpContext.Current.Response.AddHeader("cache-control", "private, no-cache, must-revalidate no-store pre-check=0 post-check=0 max-stale=0");
HttpContext.Current.Response.Cache.SetNoServerCaching();
當我刪除這些行時,一切正常。但是,由於其他原因,我不允許刪除它們。所以我嘗試添加以下行到ExcelForm.aspx之前將其添加東西頭:
Response.ClearHeaders();
這只是給了我「Internet Explorer無法從[URL]下載ExcelForm.aspx」。這就是我卡住的地方。建議?
電腦說,是的! – 2009-11-05 17:28:10
您擁有\ o /。像魅力一樣工作\ o/ – 2013-10-07 15:00:08