- - PR -
ダウンロード後別フレームから画面が切り替わりません
1
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2002-04-12 20:18
tomcat4.0、JDK1.3で動かしています。
JSPは二つのフレームからなっていて 右フレームのJSP上のリンクをクリックすると <a href = "fileservlet?filename=<%= filnam %>" ><%= filnam() %></a> とfileservletサーブレットにパラメーターを渡し、以下の処理をservletですると filnamで指定した場所からファイルを取ってきて ブラウザのダウンロード画面が表示され指定の場所に保存できるのですが、 ダウンロード後 case1 左フレームのメニューをクリック → 右フレームのJSPは変化しない case2 右フレームのリンクやsubmitボタンをクリック → 右フレームのJSPは変化して、その後は左フレームからも右フレームのJSPを 変化させる事ができる case3 ダウンロード時に一度開くを選択してから保存して終了してから左フレームの メニューをクリック → 右フレームのJSPは変化する となり、case1で右フレームのJSPを変えたいのですが、 一体何が原因で起こっているのかも、解決策もわかりません。 コンソールで確認すると変えたいJSP自体は最後まで作られているのですが 表示のみ変化していません。 しかもこれが起こるのはIEのみで(テストバージョン5.5,6.0)、 NSではcase1でも正常に左フレームのメニューから右フレームのJSPを変えることができます。 どなたかご存知の方がいましたら教えてください。 既に数日調べていますがお手上げです。 よろしくお願いします。 ------サーブレットのコード------------------ response.setContentType("application/octet-stream; charset=\"x-sjis\""); objName = new String(getFileNameOnly(FileName).getBytes("ISO-8859-1")); UniFileName = new String(FileName.getBytes("ISO-8859-1")); response.setHeader("Content-Disposition", "attachment;filename=\"" + objName + "\""); out = new DataOutputStream(response.getOutputStream()); in = new FileInputStream(UniFileName); byte [] buffer = new byte[4096]; while ((readbyte = in.read(buffer)) != -1 ) { out.write(buffer,0,readbyte); } in.close(); out.close(); ※getFileNameOnlyでファイル名のみを取り出しています。 FileNameはフルパスです |
|
投稿日時: 2002-08-21 04:02
自分も同じ目にあったことがあります。
WebLogicServer6.1+Java1.3でした。 結局のところ、 別Windowを立ち上げ、そのウィンドウからDLするようにしました。 これであれば問題なく動作します。 なぜなのかがいまだにわかりません 回避策となるかどうかはわかりませんが、ご参考までに。 |
|
投稿日時: 2002-08-21 11:44
まぁ、バグっぽいのは MSDN ぐらいは検索してみましょうね。 http://support.microsoft.com/default.aspx?scid=http://www.microsoft.com/japan/support/kb/articles/JP418/1/26.asp 回避策になるかはわかりませんが、 /download/* を fileservlet に処理させるようにして、 /download/<filename> という URL で fileservlet?filename=<filename> と 同等の効果が得られるようにしてみてはいかがでしょう。 # Content-Type より拡張子のほうを優先して内容を見るあたりが怪しいかなと。 |
1
