0 返信 最新の回答 日時: Jun 20, 2017 11:53 PM ユーザー:Sweet potato

    IE11とIE8でPDFが開けない

    Sweet potato

      ①お使いのOSとそのバージョン
        Windows7
      ②製品とそのバージョン
        Adobe Reader XI 11.0.10
        Internet Explorer 8,11
      ③トラブルの内容
        データベースに格納されているファイルをWEBページからダウンロードするプログラムがあります。
        (WEBページにリンクが表示されており、そのリンクをクリックするとデータベースからデータを取得してダウンロードする。
          その際にダイアログが表示され、「開く」「保存」「名前を付けて保存」を選べる。)
        下記Aのロジックですと、PDFファイルやOfficeファイルはダイアログ(開く・保存)が表示されダウンロードできるのですが、
        下記Bのロジックですと、PDFファイルのみダイアログが表示されずダウンロードすることができません。
        ※違いは、「Response.AppendHeader」の部分がattachmentかinlineかです。
       
        <ロジックA> ← リンクをクリックした時に通知バーが表示される
          'バッファのクリア
          Response.ClearContent()
          'ページ出力をバッファに格納(Flushでクライアントへ送信)
          Response.Buffer = True
          '文字コード設定
          'Response.ContentEncoding = Encoding.GetEncoding("shift_jis")
          'ファイルのコンテンツタイプ設定(データベースより取得)
          Response.ContentType = _branch.FileType1
          'HTTP ヘッダーを出力ストリームに追加
          Response.AppendHeader("Content-Disposition", "attachment; filename=" + Server.UrlEncode(_branch.FileName1 + "." + _branch.FileExtension1))
          'HTTP 出力にバイナリファイルの中身を書き込み(データベースより取得)
          Response.BinaryWrite(_branch.File1.ToArray())
          'クライアントへバッファ送信
          Response.Flush()
          Response.End()

       
          <ロジックB> ← リンクをクリックした時にダイアログが表示される
          'バッファのクリア
          Response.ClearContent()
          'ページ出力をバッファに格納(Flushでクライアントへ送信)
          Response.Buffer = True
          '文字コード設定
          'Response.ContentEncoding = Encoding.GetEncoding("shift_jis")
          'ファイルのコンテンツタイプ設定(データベースより取得)
          Response.ContentType = _branch.FileType1
          'HTTP ヘッダーを出力ストリームに追加
          Response.AppendHeader("Content-Disposition", "inline; filename=" + Server.UrlEncode(_branch.FileName1 + "." + _branch.FileExtension1))
          'HTTP 出力にバイナリファイルの中身を書き込み(データベースより取得)
          Response.BinaryWrite(_branch.File1.ToArray())
          'クライアントへバッファ送信
          Response.Flush()
          Response.End()

       

          <確認した項目>
          1.タスクマネージャでプロセスを確認すると、
              リンクをクリックした時にAdobe Readerのプロセスは起動されていました。
          2.Internet Explorerの「アドオンの管理」に「Adobe PDF Reader」アドオンがありました。
              これを無効にすると、ダイアログは一瞬だけ表示され、ファイルがAdobe Readerで開けました。
          3.Internet Explorer9では問題は発生しませんでした。
              「アドオンの管理」にAdobe関連のアドオンは存在していません。
         
          アドオンに問題があるのではと思っているのですが、
          調査が手詰まりになっています。
         
         
          ご回答よろしくお願い致します。
         

      ④エラーメッセージ
        なし