none
請問 IE 9以下 Https 無法下載 PDF檔案問題.... 嘗試了一天終於解了 RRS feed

  • 一般討論

  • ASP.NET

    昨天把專案由http 設定為 https 請了30幾個人,幫忙用3個瀏覽器 (Firefox、Chrome、IE 8以上) 測試,有3個人回報

    IE 瀏覽器 PDF功能無法下載.. 其他2個瀏覽器全正常

    想說奇怪我自己怎麼會漏測不可能 !

    立刻去測試伺服器上,測試IE 8正常ar !?!?

    後來仔細想想差異只剩下 Http【s】了,因為我之前都是在Http環境下測試

    果然在Http【s】上此功能會下載失敗.....,但是 IE 11卻正常 ._.a,但是聽說現在還有人在用 XP....

    上網查查到這篇,看起來就是我遇到的問題

    http://easonlin.logdown.com/posts/162846-explorer-cannot-download-https-something

    想請教 所以IE9以下的版本無解嗎 ?

    還是是寫法問題嗎?

                Response.ContentType = "application/octet-stream";
                Response.AppendHeader("Content-Disposition", "attachment;filename=" + filename);

    不是很瞭解如何解決這個問題 @@a


    • 已變更類型 天氣 2015年2月3日 上午 07:20 找到解決方案
    • 已編輯 天氣 2015年2月3日 上午 07:21
    2015年2月3日 上午 12:56

所有回覆

  • 請問這個問題是不是無解 ?

    我檔名都是用全部都是使用英文的~ 不是中文檔名問題

    網路上找了各種方式

                    Response.ExpiresAbsolute = DateTime.Now;
                    Response.Expires = -1441;
                    Response.CacheControl = "no-cache";
                    Response.AddHeader("Pragma", "no-cache");
                    Response.AddHeader("Pragma", "no-store");
                    Response.AddHeader("cache-control", "no-cache");
                    Response.Cache.SetCacheability(HttpCacheability.NoCache);
                    Response.Cache.SetNoServerCaching();
                    Response.Clear();
                    Response.Expires = 0;
                    Response.Buffer = true;

    ↑ 全加上去也無效

    2. stackoverflow 上面有些說這是IE 5 6 7 8 的 Bug...... ?

    難道我只能等使用者點了列印後,判斷 IE 9 以下,請他換其他瀏覽器嗎....

    2015年2月3日 上午 04:01
  • 看看這個解法OK不OK? Can't display PDF from HTTPS in IE 8 (on 64-bit Vista)

    Hi this~

    這篇我有看過

    最佳解說要設置 Cache-Control: private

    我不是很懂這個是要設置在哪裡 ._. 請問有沒有白話一點的提示 ?

    意思是加 ?

    Response.AddHeader("cache-control", "no-cache");

    在Https下結果還是一樣...

    protected void OnPrintClick(object sender, EventArgs e) {

        String filename = String.Format("{0:yyyy.MM.dd}-{1}.pdf", DateTime.Today, "_Info");

    if ((Request.Browser.Browser == "IE") && (Request.Browser.MajorVersion < 9)) {         Response.AddHeader("cache-control", "no-cache"); } mpp.myPDF(Response.OutputStream); // PdfDocument... Response.ContentType = "application/octet-stream"; Response.AppendHeader("Content-Disposition", "attachment;filename=" + filename); }


    測試過一樣無效。





    • 已編輯 天氣 2015年2月3日 上午 07:06
    2015年2月3日 上午 06:52
  • 整整花了快一天在處理這個問題.....

    怎麼嘗試都都不行

    剛剛發個文

    一個外國朋友提供一小段Code 網路上..

    找了一整天都沒有的方式

    神解了 ^^

    分享一下

    http://stackoverflow.com/questions/28292727/cant-download-pdf-from-https-in-ie-6-7-8

    剛剛測試可以用 !  終於下課了 T .T~


    要來留言好好謝謝他 ^^
    • 已編輯 天氣 2015年2月3日 上午 07:17
    2015年2月3日 上午 07:13