◆JSP◆at PHP ◆JSP◆ - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト375:nobodyさん 09/02/26 16:01:59 jspじゃないとだめなの? サーブレットでいいじゃない 376:nobodyさん 09/02/26 16:07:29 M1Max02p >>375 サーバーサイドのプログラムは初心者なもので。 Servletでも良い方法があれば教えてください。 377:nobodyさん 09/02/26 16:16:46 サーブレットなら、適切なContentType入れてやって Content-Dispositionヘッダを設定して バイナリをresponse.getOutputStreamで取得したstreamに書き込めばいい。 378:nobodyさん 09/02/26 19:18:47 M1Max02p >>377 ありがとうございます。とりあえずJSPでやってみる方向で努力しています。 (ダメならServletのほうを研究してみます) 3行目をヒントに、とりあえずサーバーにpdfの一時ファイル(temp.pdf)を作ってから、それを返すロジックをやってみているのですが・・・ <% /* ~fopでtemp.pdfを吐き出す処理~ */ response.setContentType("application/pdf"); response.addHeader("content-disposition","attachment; filename=temp.pdf"); OutputStream os=response.getOutputStream(); FileInputStream fis=new FileInputStream("temp.pdf"); int len=0; while(fis.read()!=-1)len++; byte b[]=new byte[len]; fis.read(b); os.write(b); %> 目的どおり、ボタンを押すと「開く」「ダウンロード」を選択するダイアログは出てくれるのですが、 出てきたデータが化けているようで開けないです。データそのもののバイト数は元ファイルと同じです。 文字コードが違うとかそのような理由なのでしょうか? pdfのようなバイナリファイルの場合、一番上での<%@ page language="java" pageEncoding="UTF-8"...といった部分はどのように指定するのが良いですか? 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch