- PR -

webサーバ上で作成したexcelをダウンロード、ブラウザ表示しようとするとブラウザが消える。

1
投稿者投稿内容
ふぁっと
会議室デビュー日: 2006/09/06
投稿数: 2
投稿日時: 2006-09-06 11:42
webサーバ上で作成したexcelファイルをダウンロードし、
ブラウザで表示しようとするとブラウザが消えてしまうことがあります。
同様の現象が発生した方はいますでしょうか?

現象が起こるクライアントPCはwindowsXPSP2,IE6SP2 です。
同様の処理をwindow2000,IE6 SP1で実行した場合は現象が起こりません。
またwindowsXPSP2,IE6SP2のクライアントでも100%ブラウザが消えるのではなく、
ブラウザ内にexcelが表示されることもあります。

以下、responceヘッダの内容です。
============================================
HttpServletResponse response
byte[] dat 〜エクセルデータのバッファ
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition","inline; filename=test.xls");
response.setHeader("Content-Length",String.valueOf(dat.length));
OutputStream os = request().getOutputStream();
os.write(dat);
uk
ぬし
会議室デビュー日: 2003/05/20
投稿数: 1155
お住まい・勤務地: 東京都
投稿日時: 2006-09-06 17:47
Windows UpdateおよびOffice Updateは最新のものを当てていますか?
また、Content-Lengthを指定しないとどうなりますか?
ふぁっと
会議室デビュー日: 2006/09/06
投稿数: 2
投稿日時: 2006-09-07 11:46
>>ukさま

WindowsUpdateは最新の状態です。
Content-Lengthを指定しない状態でも同様にブラウザが消える現象が発生します。

Content-Typeをapplication/octet-stream に変更した所、
現在検証中ではありますが現象が発生しなくなりました。
通常エクセルファイルのContent-Typeはapplication/vnd.ms-excelで問題ないと
考えていたのですが。特にIE6の不具合としても上がっていないようですし。

http://www.forest.impress.co.jp/article/2005/02/17/iehttp.html
のツールで確認したところHTTPヘッダは受け取れているようですが、
その後、ブラウザが消えてしまう原因が特定できずにいる状態です。
1

スキルアップ/キャリアアップ(JOB@IT)