- - PR -
Resin ファイルダウンロードでファイルが壊れる
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2007-01-12 13:25
Resin 3系での開発をしております。
以下のようなファイルをダウンロードするJSPを動かしたところ、 必ずダウンロードされたファイルが壊れてしまい、開くことができません。 同じJSPをTomcat5.0系で動作させたところ、ファイルが壊れることはありませんでした。 Resin固有の問題なのでしょうか? 同じような問題を対処されたことのある方、解決方法をご存知の方おりましたら 情報を教えていただけないでしょうか? よろしくお願いいたします。 ----以下JSP(download.jsp)--- <%@ page language="java" contentType="text/html; charset=Shift_JIS" pageEncoding="Shift_JIS"%> <%@ page import="java.io.*" %> <% FileInputStream fIn = new FileInputStream("c:/work/manual.ppt"); BufferedInputStream bufIn = new BufferedInputStream(fIn); byte[] buf = new byte[1024]; OutputStream os = response.getOutputStream(); response.setContentType("application/octet-stream"); response.setHeader("Content-Disposition", "attachment; filename=manual.ppt"); for (;;) { int end = bufIn.read(buf, 0, buf.length); if (end < 0) { break; } os.write(buf, 0, end); } fIn.close(); os.flush(); os.close(); %> 環境 OS:Windows XP SP2 SDK:j2sdk_1.5.0_10 APServ:Resin 3.0.19 Client:IE7, FF2 |
|
投稿日時: 2007-01-12 13:33
%>と<%の間の改行が送られてしまうのと、contentType が page ディレクティブの宣言と、 setContentType で設定しているのが異なっているのが気になりますね。
#ContentType についてはレスポンスのコミット前であれば一応上書きされますが・・・ この手のコードはサーブレットとして書いた方が無難です。 |
|
投稿日時: 2007-01-24 14:50
インギさん
返信が遅くなりすいませんでした。 問題は、ご指摘の方法で無事解決いたしました。 ありがとうございます。 |
1