新生鳩丸掲示板♯

bakera.jp > 新生鳩丸掲示板♯ > スレッド内全記事表示 (記事 1199 からのスレッド)

スレッド内全記事表示 (記事 1199 からのスレッド)

[1199] PDFのダウンロードがうまくいきません

わかぞう (2003年11月11日 21時6分)

ServeletでPDFファイルを作成して、クライアント側でPDFファイルを保存する仕組みを作っているのですが、希望どおりにいきません。現状は以下の通りです。

やりたいこと:

ボタンを押すとPDFファイルが作成され、ダウンロードのダイアログボックスを表示、もしくはファイルの中身を表示させ、名前を付けて保存する。

試してみたこと:

1.Serveletで

Content-Disposition: attachment; filename="xxx.pdf"

を指定したところ、クライアント側でファイルの関連付けをしているせいか、ダイアログボックスが2重に開いてしまいます。クライアント側の設定を変えてもらうのは難しいです。

2.attachmentをinlineにしたらダイアログボックスが出ずにファイルの中身が表示されます。ここまでは良いのですが、名前を付けて保存ボタンを押すとデフォルトファイル名がxxx.pdfでなく、URLの最後の部分になってしまいます。ファイル名がxxx.pdfになってくれれば問題ないのですが。

ちなみにブラウザはIE6SP1、WebサーバはWebSphereを使用しております。

どなたか解決できそうな意見をお持ちの方は、ご教授願います。

[1204] Re: PDFのダウンロードがうまくいきません

ばけら (2003年11月11日 22時10分)

>デフォルトファイル名がxxx.pdfでなく、URLの最後の部分になってしまいます。ファイル名がxxx.pdfになってくれれば問題ないのですが。

 単純に考えて、URL の最後が /xxx.pdf になるようにすれば解決するのではないでしょうか。ダミーのパラメータとして、末尾に

?filename=/xxx.pdf

 などとつけるとか。

[1212] Re: PDFのダウンロードがうまくいきません

わかぞう (2003年11月12日 9時42分)

> 単純に考えて、URL の最後が /xxx.pdf になるようにすれば解決するのではないでしょうか。ダミーのパラメータとして、末尾に

>

> ?filename=/xxx.pdf

>

> などとつけるとか。

ばけらさん、レスありがとうございます。

早速、

<FORM METHOD="GET"

<INPUT TYPE="hidden" NAME="filename" VALUE="/xxx.pdf">

</FORM>

でやってみたら、URLが

?filename=%2Fxxx.pdf

となって、肝心の"/"が"%2"になってしまいました。

これを回避する方法はあるのでしょうか?

[1213] Re: PDFのダウンロードがうまくいきません

岩本隆史 (2003年11月12日 10時29分)

<INPUT TYPE="hidden" NAME="filename" VALUE="xxx.pdf">

では駄目でしょうか。

常岡伸二氏による「ログイン処理とファイルの送受信処理」

http://www.cisnet.or.jp/home/tsuneoka/cgitech/6.html

の「6.4 コンテンツをダウンロードする」を読んだだけなのですが。

[1214] Re: PDFのダウンロードがうまくいきません

わかぞう (2003年11月12日 11時35分)

><INPUT TYPE="hidden" NAME="filename" VALUE="xxx.pdf">

>では駄目でしょうか。

岩本さん、レスありがとうございます。

上記は行なってみたのですが、"/"がないとファイル名が

filename=xxx.pdf

となって、よけいな文字がついてしまうんです。

ファイル名だけだとサーブレット自体が動かない気がするし・・・

なかなかうまくいかないものです。

[1215] Re: PDFのダウンロードがうまくいきません

yuu (2003年11月12日 11時58分)

>早速、

><FORM METHOD="GET"

><INPUT TYPE="hidden" NAME="filename" VALUE="/xxx.pdf">

></FORM>

>でやってみたら、URLが

>?filename=%2Fxxx.pdf

>となって、肝心の"/"が"%2"になってしまいました。

>これを回避する方法はあるのでしょうか?

本筋と関係ありませんが、「/」に相当するのは「%2」ではなく「%2F」です。

[1216] Re: PDFのダウンロードがうまくいきません

yuu (2003年11月12日 12時1分)

>><INPUT TYPE="hidden" NAME="filename" VALUE="xxx.pdf">

>>では駄目でしょうか。

>岩本さん、レスありがとうございます。

>上記は行なってみたのですが、"/"がないとファイル名が

>filename=xxx.pdf

>となって、よけいな文字がついてしまうんです。

>ファイル名だけだとサーブレット自体が動かない気がするし・・・

>なかなかうまくいかないものです。

「filename=」の部分をなくしたらどうでしょう。

?xxx.pdf

[1217] Re: PDFのダウンロードがうまくいきません

岩本隆史 (2003年11月12日 12時18分)

>><INPUT TYPE="hidden" NAME="filename" VALUE="xxx.pdf">

>>では駄目でしょうか。

>岩本さん、レスありがとうございます。

>上記は行なってみたのですが、"/"がないとファイル名が

>filename=xxx.pdf

>となって、よけいな文字がついてしまうんです。

>ファイル名だけだとサーブレット自体が動かない気がするし・・・

>なかなかうまくいかないものです。

試しもせず、すみませんでした。

私はIE6限定のWebアプリケーションでは下記のようなヘッダを出力させています。

Content-Type: application/download

Content-Disposition: filename=xxx.pdf

これで動作していますが、「application/octet-stream」のほうが良いのかもしれません(未検証)。

[1220] Re: PDFのダウンロードがうまくいきません

ばけら (2003年11月12日 13時22分)

>でやってみたら、URLが

>?filename=%2Fxxx.pdf

>となって、肝心の"/"が"%2"になってしまいました。

 GET メソッドでしたか……。

 POST で、action の URL にオマケをつけるというイメージだったのです。

 POST にできませんか?

[1221] Re: PDFのダウンロードがうまくいきません

わかぞう (2003年11月12日 14時35分)

>「filename=」の部分をなくしたらどうでしょう。

>

>?xxx.pdf

yuuさん、レスありがとうございます。

上記を以下のようにして行なってみましたが、

<INPUT TYPE="hidden" VALUE="xxx.pdf">

URLが/MainServelet?

になって、ファイル名が表示されなくなってしまいます。

NAMEは指定しないとダメですかね。

[1222] Re: PDFのダウンロードがうまくいきません

わかぞう (2003年11月12日 15時6分)

> GET メソッドでしたか……。

> POST で、action の URL にオマケをつけるというイメージだったのです。

> POST にできませんか?

ばけらさん、再びありがとうございます。

POSTで

action="MainServlet?filename=/xxx.pdf"

としたらAcrobat Readerで保存ボタンを押したら

ファイル名が"xxx.pdf"になりました。助かりました。

ばけらさん、岩本さん、yuuさん、ありがとうございました。

[1225] Re: PDFのダウンロードがうまくいきません

りゅう (2003年11月14日 2時4分)

事前にファイル名が分かっているのだったらPATH_INFOを使うのがスマートげです。

servelet/xxx,pdf

な感じで。

って、もう遅いですか(謎)。

[1226] Re: PDFのダウンロードがうまくいきません

りゅう (2003年11月14日 2時6分)

>事前にファイル名が分かっているのだったらPATH_INFOを使うのがスマートげです。

>

>servelet/xxx,pdf

>

>な感じで。

>

>って、もう遅いですか(謎)。

って、どうしてコメントになりませんか。Safariだから?(謎)

[1228] Re: PDFのダウンロードがうまくいきません

ばけら (2003年11月14日 22時11分)

>って、どうしてコメントになりませんか。Safariだから?(謎)

 バグかなバグかな~。

[1229] Re: PDFのダウンロードがうまくいきません

ばけら (2003年11月14日 22時13分)

> バグかなバグかな~。

 コメントフォームのバグくさいですね。バグばっかですみません。

 来週直します。

[1231] Re: PDFのダウンロードがうまくいきません

ばけら (2003年11月17日 12時38分)

>> バグかなバグかな~。

> コメントフォームのバグくさいですね。バグばっかですみません。

 ……と思ったのですが、実はそうでもなかったようで謎です。

 ホントに safari 側の問題かも知れません。

最近の日記

関わった本など