2013-02-05 75 views
1

我在項目中遇到了一個問題。我的頁面上有兩個按鈕,一個用於下載pdf,另一個用於下載zip。這些下載適用於除IE8以外的所有瀏覽器(IE9作品)。下載zip或pdf不能在IE8上工作

在IE8中,有一條消息表示「爲了保護您的安全......」。當我點擊「下載此文件」時,瀏覽器刷新頁面,我失去了我所做的一切。但是當我再次嘗試下載文件時,瀏覽器讓我這樣做。

有一個截圖:

screenshot

有我的代碼:

protected override void OnLoad(EventArgs e) 
{ 
    base.OnLoad(e); 
    if (IsPostBack) 
     return; 

    if (Request.QueryString["outputpdf"] == "1" && !string.IsNullOrEmpty(PdfReportFilePath)) 
    { 
     OutputPdfFile(PdfReportFilePath); 
     PdfReportFilePath = string.Empty; 
     Response.End(); 
    } 

    if (Request.QueryString["outputexport"] == "1" && !string.IsNullOrEmpty(RxMapSession.ExportedFilePath)) 
    { 
     OutputExport(RxMapSession.ExportedFilePath); 
     RxMapSession.ExportedFilePath = RxMapSession.ExportedFileName = string.Empty; 
     Response.End(); 
    } 

    initChart(); 
} 

private void OutputExport(string exportedFilePath) 
{ 
    Response.ContentType = "application/zip"; 
    Response.AppendHeader("Content-Disposition", "attachment; filename=" + Path.GetFileName(exportedFilePath)); 
    Response.WriteFile(exportedFilePath); 
} 

private void OutputPdfFile(string reportFullPath) 
{ 
    string fileName = reportFullPath.Split('\\').Last(); 
    Response.ContentType = "application/pdf"; 
    Response.AppendHeader("Content-Disposition", "attachment; filename=" + fileName); 
    Response.WriteFile(reportFullPath); 
    Response.End(); 
} 

你有,爲什麼我對IE8這個問題的任何想法?

+0

這是XP上IE8的客戶端「問題」。你不能在你的代碼中做任何事情。一些用戶也會遇到問題。 – TGlatzer

+0

我在Windows Server 2008上試過這個。我不知道我的客戶的操作系統。 –

+0

服務器可能啓用了「Internet Explorer增強安全性」。 – TGlatzer

回答

0

試試這個

  1. 選擇工具→Internet選項

  2. 進入高級選項卡

  3. 檢查 「允許活動內容在我的計算機上的文件中運行」。

  4. 保存設置並關閉所有IE窗口並重新啓動IE。

OR

  1. 轉到工具→Internet選項

  2. 單擊安全選項卡,然後單擊一個安全區域受信任的站點。

  3. 點擊網站。

  4. 該網站應顯示在添加此網站的區域字段。

  5. 點擊添加。

  6. 單擊關閉,然後單擊確定。

  7. 關閉所有IE窗口並重新啓動IE。

+0

對不起,但這些工作都不起作用。我嘗試了第一個,然後在同一時間,但它不起作用。另外,我們的客戶不能改變他們的安全策略。 –

+0

保護模式也關閉。 –

+1

我找到了一個解決方案。當您將您的網站放入受信任的站點時,您必須將該級別設置爲中低。我離開了中等水平,它仍然提示下載文件。在中低水平下,文件被下載。 再次感謝您的回答。 –