- PR -

CSV形式でHTTP出力ストリームに出力

1
投稿者投稿内容
和也さん
ベテラン
会議室デビュー日: 2006/02/09
投稿数: 78
投稿日時: 2006-02-09 15:10
すいません
困っています。
ご教授よろしくお願いします。

CSV形式でHTTP出力ストリームに出力しようとしています。

C#でいう「response.BinaryWrite(encoding.GetBytes(StrAA.ToString()));」

をJAVAで行うとどのようになるのでしょうか?

またやり方がいまいちわかりません・・
よろしくお願いします。
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2006-02-09 15:54
HttpServletResponseから ServletOutputStream を取り出して write します、ってので参考になるでしょうか。
まずはサーブレットを書いてみることをお勧めします。
和也さん
ベテラン
会議室デビュー日: 2006/02/09
投稿数: 78
投稿日時: 2006-02-09 17:15
ピンポイントのご指摘ありがとうございます。

try{
filename = "aaa.xxx";
response.setHeader("Content-Disposition","attachment;filename=" + filename);
response.setContentType("application/octet-stream");
ByteArrayOutputStream baos = new ByteArrayOutputStream(512);
OutputStream out = response.getOutputStream();
out.write(CreateWriteString.getBytes());
response.flushBuffer();
response.getWriter();
}catch(Exception e){}


上記ソース(不必要部分省いています)を作成しました。

処理は、サーバ上のリンク文字列をクリックすると、JAVAクラス(上記ソース)が呼び出され、自動的に「aaa.xxx」が開くように
したいのですが・・・

ダウンロードできるようになったのですが、最終的に自動的に開くようにしたいのですが、
IEのファイルのダウンロード確認ダイアログが表示されてしまいます。
度々申し訳ないのですが、ダウンロード確認ダイアログを表示せずに自動的に開くようにするにはどうすればよいのでしょうか?
お忙しいとは思うのですがよろしくお願いします。
和也さん
ベテラン
会議室デビュー日: 2006/02/09
投稿数: 78
投稿日時: 2006-02-09 18:43
response.setHeader("Content-Disposition","inline;filename=" + filename);
に変更することで回避できました。

すいませんでした。

しかしながら・・・一時ファイルに生成されるファイル名が「 aaa[1].xxx 」となってしまうのはなぜでしょうか・・・
1

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