- PR -

ダウンロードダイアログ

1
投稿者投稿内容
ラオウとトキ
常連さん
会議室デビュー日: 2002/07/18
投稿数: 34
投稿日時: 2002-07-18 17:49
 
 サーブレットでExcelドキュメントを作成して、
 ダウンロードするプログラムを、
 作成しているのですが、
 以下の記述のソースを実行すると、
 ブラウザにダウンロードダイアログが出てしまいます。
 ダイアログを出さずにExcelをそのままブラウザへ貼り付けるという風に、
 作成したいのですが可能でしょうか?
 もし何かご存知の方いらっしゃいましたら、
 ご教授お願いします。
 
  public static void doProcess(HttpServletRequest req,
                      HttpServletResponse resp)
  throws ServletException, java.io.IOException {
     DocumentInfo doc = getDocument(req);
     java.io.InputStream in = null;
     if (doc == null || doc.getSize() == 0
        || (in = doc.getInputStream()) == null) {
         resp.sendError(HttpServletResponse.SC_NOT_FOUND);
       return;
     }
     //ここから以下のパラメータを変更してどうにかならないでしょうか・・。         java.io.OutputStream out =
     new java.io.BufferedOutputStream(resp.getOutputStream());
     resp.setContentType("application/octet-stream");
     resp.setHeader("Content-Disposition",
             "attachment; filename=\""
             + convertToSJIS(doc.getFilename()) + "\"");
     resp.setContentLength((int)doc.getSize());
     int c = 0;
     while ((c = in.read()) != -1) {
      out.write(c);
     }
     in.close();
     out.flush();
     out.close();
   }

  あまり関係ないですが・・。環境は、
  Windows2000Server+Tomcat4.0.3+Oracle8.1.7+JDK1.3.1です。


[ メッセージ編集済み 編集者: ラオウとトキ 編集日時 2002-07-18 17:58 ]

[ メッセージ編集済み 編集者: ラオウとトキ 編集日時 2002-07-18 17:59 ]
御爺庵
常連さん
会議室デビュー日: 2002/02/06
投稿数: 33
お住まい・勤務地: 大阪府
投稿日時: 2002-07-18 21:19
コンテンツタイプの設定と、あとクライアントの環境次第ですかね^^
resp.setContentType("application/vnd.ms-excel");
ラオウとトキ
常連さん
会議室デビュー日: 2002/07/18
投稿数: 34
投稿日時: 2002-07-19 10:19
 えと、自己レスです。
 Content-Dispositionのパラメータ「attachment」を「inline」に変更したら
 動作するようになりました。

 御爺庵さん参考意見ありがとうございました。

[ メッセージ編集済み 編集者: ラオウとトキ 編集日時 2002-07-19 10:20 ]
1

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