私のクライアントは、ユーザーが CTRL キーを押しながら複数のファイルを選択して一度にアップロードできる機能 (高度な Gmail バージョンのような) を望んでいます。それは本当に可能ですか?これに関する貴重なフィードバック/提案をお知らせください。
前もって感謝します。
私のクライアントは、ユーザーが CTRL キーを押しながら複数のファイルを選択して一度にアップロードできる機能 (高度な Gmail バージョンのような) を望んでいます。それは本当に可能ですか?これに関する貴重なフィードバック/提案をお知らせください。
前もって感謝します。
はい、S2 は複数のファイルを処理できます。UI の考慮事項についてはわかりません。同じ質問への回答ではありませんが、これは、ファイルアップロードインターセプターを使用している他の誰かを示し、一度に複数のファイルの問題が発生することを示しています:ファイル全体をアップロードせずに Struts2 ファイルアップロードの最大サイズを制限する
Gmail はこれに Flash を使用しています。<input type="file">
Flash が無効になっている場合は、一度に 1 つのファイルのみを選択できる通常の HTML フィールドに適切に分解されます。
1 回の参照で複数のファイルを選択できる無料の Flash ベースのライブラリがいくつかあります。人気のあるものはSwfUploadとUploadifyです。Commons FileUpload を使用して、JSP/サーブレット バックエンドでこれを処理するのは簡単です。Struts を使用していないため、これを Struts と組み合わせる方法を詳しく説明することはできません。
はい、Struts 2 にネイティブに統合されています。ドキュメントを読んでください。この機能は Web フォームで簡単に使用できますが、次の点に注意してください。
form
次の部分で定義する必要があります。
enctype="multipart/form-data" method='post'
フィールドは によって送信されname
ます。そう:
jsp
ページで、likeを使用して定義<input type="file">
し、アクション クラスでドキュメントのように定義します。name=
name="fileInput"
ファイル fileInput;
文字列 fileInputContentType;
文字列 fileInputFileName;
または、配列/リストとして:
File[] fileInput; //this array will contain all the input file fields with name="fileInput", so name all fields with the same name.
String[] fileInputContentType;
String[] fileInputFileName;
そしてゲッター/セッター。Struts 2 は残りの部分を完璧に処理します。