- - PR -
ダウンロード時、ダイアログの「開く」を押すとファイルの内容がブラウザに表示されてしまう。
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2004-10-05 22:27
こんばんわ。本日2回目の投稿です;
みなさんまた宜しくお願い致します。 ダウンロードする際に、ダイアログが表示され、 その、「開く」ボタンを押下すると、もう一度ダイアログが 表示されます。2回目に「開く」を押下すると、 ファイルがきちんと開きます。 以上が、@のやり方です。 Aのやり方でやると、 ダイアログが表示され、「開く」を押下すると、 ブラウザにファイルの内容が表示されます。 実際には、@とAが足されたような形、 ダイアログの表示は1度で、 ファイルはブラウザではなくExcelならExcelファイルとして表示 したいのですが、そういうことはできますでしょうか? 皆さんご教授のほど宜しくお願い致します。 @ response.setContentType( "application/octet-stream-dummy" ); response.setHeader("Content-Disposition","attachment; filename=\\"" + fileName + ""); DataOutputStream dos = new DataOutputStream( response.getOutputStream( ) ); FileInputStream fis = new FileInputStream(file ); try { byte[ ] buffer = new byte[ 1024 ]; int readbyte = 0; while( true ) { readbyte = fis.read( buffer ); if( readbyte == -1 ) { break; } dos.write( buffer, 0, readbyte ); dos.flush( ); } } catch( Exception e ) { throw e; }finally{ try{ if(dos != null) dos.close(); if(fis != null) fis.close(); }catch( Exception e){} } A「@」1部を除き同じ response.setHeader("Content-Disposition","attachment; filename=\\"" + fileName + ""); ↓下記に変更 response.setHeader("Content-Disposition","inline; filename=\\"" + fileName + ""); [ メッセージ編集済み 編集者: 迷い猫 編集日時 2004-10-06 14:16 ] |
|
投稿日時: 2004-10-06 14:30
ダウンロードを行うServletにサブミットする際のtargetの指定はどうなっていますか?
_parentやフレーム名に変えることで対応出来ると思います。 |
|
投稿日時: 2004-10-06 15:08
こちらが参考になるのでは。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=5606&forum=12&8 |
1