ディレクトリからのリストであるページにファイルのリストが表示されるという要件があります。そこから複数のファイルを選択し、表示ボタンをクリックします。次に、ドライブから対応するファイルを読み取り、ユーザーが選択したすべてのファイルを開く必要があります。Struts2/サーブレットを使用してこれを実装する必要があります。
2 に答える
私のユーザースタンドから、ユーザーはサーバー上にあるディレクトリの内容を見ることができますよね?
さらに、ユーザーがファイルを選択するために使用するいくつかの選択方法(チェックボックス?)とともにファイルのリストを表示し、表示ボタンをクリックします。
私が正しければ、javascript を使用して、サーバーからファイルまたはそのコンテンツを読み取る新しいタブ/ウィンドウまたはダイアログ (jQuery ダイアログなど) を開くことができます。リスト内の選択されたエントリを繰り返し処理し、タブ/ウィンドウ/ダイアログを開く JavaScript 関数に 1 つずつ渡します。
したいかどうかは不明
- クライアントのブラウザで各ファイルを開く、または
- 各ファイルをクライアントのファイル システムにダウンロードする、または
- すべてのファイルを含むアーカイブをクライアントのファイル システムにダウンロードします。
1. または 2.では、AJAX などを使用して、複数のウィンドウをターゲットにしてtarget="_blank"
、複数のリクエストを作成する必要があります。
HttpResponse ヘッダー オブジェクトを操作することで、いつファイルを開くかダウンロードするかをブラウザーに指示できContent-Disposition: inline;
ますContent-Disposition: attachment;
。ユーザーによってデフォルトとしてマークされました)
複数のファイルを一度に開いたりダウンロードしたりすると、いくつかの問題が発生する可能性があることに注意してください。クライアントの過負荷/クラッシュ、サーバーの過負荷/クラッシュ、帯域幅の問題などを引き起こす可能性があります。ユーザーが 100 個のファイルを選択した場合はどうなりますか? 100 個のタブ、または 100 個のウィンドウを開くか、各ファイルの保存場所を 100 回尋ねるなど...
代わりに動的 ZIP を作成する場合は、Struts2 でそれを行う方法のキックオフ例をここで見つけることができます(サーブレットのようなアクションを使用し、NONE を返します)。私のファイルはデータベースからのもので、あなたのファイルはファイル システムからのものですが、コードは同じです。