- PR -

ダウンロードダイアログについて

投稿者投稿内容
初心者
会議室デビュー日: 2005/08/13
投稿数: 10
投稿日時: 2005-08-13 23:44
はじめまして。
現在、初めてWebアプリケーション開発に携わっております。
客先から強い要望があり、色々と調べてみたのですが、何分
検索の仕方がまずいのか解決策がみえず、ほとほと困りました
ので投稿させて頂きます。

サーバ側に存在する画像ファイルをダウンロードする際に
その内容の説明の書かれたテキストファイルを同時にダウ
ンロードし、且つクライアントからはテキストファイルが
ダウンロードされることが意識させないでほしい
(つまりダウンロードダイアログが表示されるのは画像ファイル
に対してのみでテキストファイルに関しては表示させないでほしい)
と要望されております。

セキュリティの観点からダウンロードダイアログを表示
させないでサーバ側からクライアントへとファイルを送信
させることはできないとは思いましたが、客先からはかなり
強く要望されており、何か技術的に方法がないものか、ご存知
な方がおられましたらご教授お願い致します。

サーバ:WindowsXP Proffesional & Tomcat5.0
クライアント:WindowsXP Proffesional & Internet Explorer 6.0
でっち6号
大ベテラン
会議室デビュー日: 2005/01/31
投稿数: 176
お住まい・勤務地: Kawasaki
投稿日時: 2005-08-14 15:36
こんにちは
うーん、ちょっと無理でしょうね。

前後の操作や仕様が分らないので代案を2つほど出しておきます。

1.ダウンロードするファイルをZIPにして画像ファイルとテキストファイルをまとめてしまう。(クライアントがXPなら解凍は不要になる)
2.画像ファイルがJPEGやPNGに限定できるなら、説明書きはヘッダー部に書いてしまう。

私が思いつくのはこのくらいですか。
お役に立てなくて申し訳ないです。
初心者
会議室デビュー日: 2005/08/13
投稿数: 10
投稿日時: 2005-08-14 16:26
でっち6号様

申し訳ないなんてとんでもないです。
ご助言ありがとうございます。

2については当方も客先に一度提案してみてはみたの
ですが、聞き入れてもらえずにおります。

1についてですが、例えばJSP側で該当ファイルを
ZIPにしてまとめてしまうという処理は比較的簡単
にできるものでしょうか?
開発期間が2週間程度しかなくサーバサイドのアプリ
ケーション開発初心者の私としてはかなり焦っております。

またファイルダウンロード時のダウンロードダイアログの
表示についてRFCなどで規定されていないものでしょうか?
私としては客先にダイアログが表示されることも止むを得ない
と納得させることのできる材料があれば折衝の方に力を入れる
のですが。

でっち6号
大ベテラン
会議室デビュー日: 2005/01/31
投稿数: 176
お住まい・勤務地: Kawasaki
投稿日時: 2005-08-14 16:49
こんにちは

ZIP圧縮についてはjava.util.zipを使用することで割と簡単に実装できると思います。
参考:@IT連載にあるサンプル

ダイアログはRFCには載ってないでしょうね。
どちらかと言うとブラウザの仕様です。
Microsoftのサイトを探せば何かあるかもしれませんが...

[追記]
ああ、文字化けのこと書いておかないと...
Java Solution 会議室 > Zipファイル作成時の文字化け

[ メッセージ編集済み 編集者: でっち6号 編集日時 2005-08-14 17:29 ]
初心者
会議室デビュー日: 2005/08/13
投稿数: 10
投稿日時: 2005-08-14 21:56
でっち6号様

ご助言ありがとうございます。
是非とも参考にさせて頂いて試して
みたいと思います。

>クライアントがXPなら解凍は不要になる
あとこちらなのですが、XPの場合は解凍処理を実装する
必要がないという意味でしょうか?

かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2005-08-15 00:44
HTTPの仕様上、一度にダウンロード可能なファイルは1つだけです。

XPの場合、解凍処理が不要というのは、ZipファイルをOSでサポートしているからです。
逆に、1度にダウンロードは1ファイルしかできないので、
サーバで解凍処理を実装する意味がないですよ。

テキストの表示は、画像のダウンロードのアンカークリック等のイベントを拾って、
IFRAMEに表示させる等の処理で充分な気がします。

koe
大ベテラン
会議室デビュー日: 2003/07/13
投稿数: 198
投稿日時: 2005-08-15 09:54
すでにHTTPやブラウザの仕様を超えた話になってきているので
どうしても要求通りのことを実現したいならJavaWebStartなんてどうでしょうね。

2つのファイル(画像とREADME.txt)をダウンロードして、
ユーザが指定したフォルダに保存するアプリケーション、
くらいなら、割と簡単に作れそうな気もします。
初心者
会議室デビュー日: 2005/08/13
投稿数: 10
投稿日時: 2005-08-15 19:39
でっち6号様、かつのり様、koe様

ご助言ありがとうございます。

今回客先から強く要望されている内容は既に稼動して
いるWebシステムのある画面で1回のダウロードクリック
で2つのファイル(画像ファイル+テキストファイル)を
同一のパス配下にダウンロードし、テキストファイルに
ついてはクライアント側に意識させないでダウンロード
ダイアログは画像ファイルに対してのみ表示させるとい
うことです。

テキストファイルの内容はその画像ファイルの説明を
記述しているのみの簡単なものですが、クライアント側
ではファイルとして必要ということです。
またその2つのファイルについて
ダウンロードするさいに特定の命名規則(日本語が混在)
にしたがってリネームしてダウンロードするように追加
要望がありました。

でっち6号様にアドバイス頂いた1つのZIPファイルに
まとめて1回でダウンロードさせるという案を客先に
提案させて頂いたところ
1.ZIPファイルダウンロード時のダウンロードダイア
  ログには画像ファイルのファイル名を表示させる
  必要がある。
2.ダウンロード後に自動で解凍される必要がある。
3.解凍後にZIPファイルを削除する必要がある。

上記3点が課題となっております。
正直、上記3点を満たすのはかなり厳しいと考えておりまして
客先には制限事項としていただくようにお願いしようかと考え
ておりますが、何かご意見ございましたらご教授お願い致します。

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