- PR -

PDFファイルダウンロード時のファイル名

1
投稿者投稿内容
bbholic
常連さん
会議室デビュー日: 2004/02/17
投稿数: 21
投稿日時: 2004-11-25 16:21
いつもお世話になります。

別ウインドウ開いてそこにPDFファイルをダウンロードするプログラムを
作成しています。(Strutsを使用しています。)
別ウインドウで表示したPDFファイルを保存しようとするとファイル名が「アクション名.pdf」
となってしまいます。
レスポンスに設定しているつもりですがどうもうまくいきません。

// ファイル取得
File file = new File("C:/tmp/sample/pdf/sample.pdf");
long size = file.length();

// レスポンス設定
response.setContentLength((int)size);
response.setContentType("application/pdf");
response.setHeader("Content-Disposition:","inline; filename=\"sample.pdf\"");

ご教授お願いします。
影フリー
常連さん
会議室デビュー日: 2004/11/12
投稿数: 39
お住まい・勤務地: 東京都
投稿日時: 2004-11-25 16:53
response.setHeader("Content-Disposition:","inline; filename="sample.pdf"");
を空白無しで
=>response.setHeader("Content-Disposition:","inline;filename="sample.pdf"");
yuzy
大ベテラン
会議室デビュー日: 2002/02/14
投稿数: 117
投稿日時: 2004-11-25 17:10
コード:
response.setHeader("Content-Disposition:","inline; filename=\"sample.pdf\"");



"Content-Disposition:"の最後の':'は不要なのでは?
bbholic
常連さん
会議室デビュー日: 2004/02/17
投稿数: 21
投稿日時: 2004-11-25 17:18
影フリーさん、yuzyさんありがとうございます。

response.setHeader("Content-Disposition:","inline;filename=\"sample.pdf\"");

response.setHeader("Content-Disposition:","inline;filename=sample.pdf");

response.setHeader("Content-Disposition","inline;filename=\"sample.pdf\"");

と試してみましたがうまくいきません。
引き続きお願いします。
私もいろいろ試してみます。
影フリー
常連さん
会議室デビュー日: 2004/11/12
投稿数: 39
お住まい・勤務地: 東京都
投稿日時: 2004-11-25 17:21
String strClient= request.getHeader("User-Agent");
String fileType;
if (strClient.indexOf("MSIE 5.5") != -1) {
response.setHeader("Content-Disposition", "filename=" + fileName + ";");
} else {
response.setHeader("Content-Disposition", "attachment;filename=" + fileName + ";");
}
bbholic
常連さん
会議室デビュー日: 2004/02/17
投稿数: 21
投稿日時: 2004-11-25 17:37
影フリーさんありがとうございます。

response.setHeader("Content-Disposition", "attachment;filename=" + fileName + ";");

attachmentとしますと先に保存されてしまい別ウインドウに表示することができません。
(ファイル名は取れますが・・・)

ん〜〜・・無理なんでしょうか・・・
影フリー
常連さん
会議室デビュー日: 2004/11/12
投稿数: 39
お住まい・勤務地: 東京都
投稿日時: 2004-11-25 17:50
引用:

bbholicさんの書き込み (2004-11-25 17:37) より:
影フリーさんありがとうございます。

response.setHeader("Content-Disposition", "attachment;filename=" + fileName + ";");

attachmentとしますと先に保存されてしまい別ウインドウに表示することができません。
(ファイル名は取れますが・・・)

ん〜〜・・無理なんでしょうか・・・


すみません。attachmentは違いました。
サンプルみたいにMSIE 5.5のブラウザをチェックしてほしい意味です。
そしてAdobeReaderがインストールされていないとだめですね。

[ メッセージ編集済み 編集者: 影フリー 編集日時 2004-11-25 17:59 ]
bbholic
常連さん
会議室デビュー日: 2004/02/17
投稿数: 21
投稿日時: 2004-11-25 18:05
影フリーさんありがとうございます。

やはりダメでした。
ちなみにIEの6.0を使用していますが

if (strClient.indexOf("MSIE 6.0") != -1) {
response.setHeader("Content-Disposition", "filename=" + fileName + ";");
} else {
response.setHeader("Content-Disposition", "inline;filename=" + fileName + ";");
}
としてもうまくいきませんでした。
1

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