2010-03-08 93 views
2

在SSL站點下載Excel文件時,我得到了以下錯誤:Internet Explorer中顯示錯誤下載的Excel文件時在SSL網站

Internet Explorer cannot download xxxx.aspx from mysite.com. 
Internet Explorer was not able to open this Internet site. The requested site is either unavailable or cannot be found. Please try again later. 

谷歌搜索後,我懷疑它的響應頭的問題。
我嘗試在此頁面的解決方案,並設置標題:
http://trac.edgewall.org/ticket/1020

  HttpContext.Current.Response.AddHeader("Pragma", "no-cache"); 
      HttpContext.Current.Response.CacheControl = "private"; 

但它不工作。 有什麼建議嗎?

回答

0

我導出到Excel時使用LocalReport遇到同樣的問題。 的

Response.BinaryWrite(bytes); 

之前只是我們增加

Response.ClearHeaders(); 
Response.ClearContent(); 
Response.Buffer = true; 

和它的工作。

1

我也面臨同樣的問題,

當我GOOGLE了它,我發現,在響應報頭「無chache」設置,即下面的代碼是問題的原因。

Response.AppendHeader("Pragma", "no-cache") 
Response.AppendHeader("Cache-Control", "no-cache") 
Response.AppendHeader("max-age", "0") 

一些博客說,爲了解決這個問題,你應該做的網絡服務器和所有客戶機在Windows註冊表中的某些修改(:O),以及它是不可行的每個客戶端上做的註冊表設置機。

的根本原因是在響應頭無緩存的設置,所以我剛添加

Response.ClearHeaders() 

添加內容被下載到所述響應報頭的前面。代碼如下所示,

Response.ClearHeaders() 
Response.ContentType = corspBean.ContentType 
Response.AppendHeader("content-disposition", "attachment; filename=""" + fileName + """") 
Response.BinaryWrite(fileBytes) 
Response.End() 

它修復了這個問題。

Enjoy !!!

1

我有一個類似的問題,我想流的PDF文件。即使在Response.ClearHeaders()我看到在運行時添加了Pragma和Cache-Control頭。解決方案是清除IIS中的標題(右鍵單擊 - >加載PDF頁面上的屬性,然後選擇「Http headers」選項卡)。

相關問題