IE11とIE8でPDFが開けない
①お使いの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関連のアドオンは存在していません。
アドオンに問題があるのではと思っているのですが、
調査が手詰まりになっています。
ご回答よろしくお願い致します。
④エラーメッセージ
なし
