ORAF/OROFでアップロードする

基本的な例 > マルチモジュール > 例03

説明

DEXTUploadX5はファイルアップロード操作に4つのモードをサポートする。

var dx = dx5.get("component-id");

// アップロードモードをORAF, OROF, EXTS, AWSS3に設定する。
dx.setUploadMode("ORAF");

// すべてのローカルファイルをアップロードする。 
dx.upload("AUTO");
// 選択したローカルファイルをすべてアップロードする。 
dx.upload("SELECTED");
// チェックしたローカルファイルをすべてアップロードする。 
dx.upload("CHECKED");

ORAFでファイルをアップロードすると、サーバー側でアップロードされたファイルを一度に取得することができます。

# サーバーサイド					
...
FileItem item = null;

for (MultipartFile file : x5.getDEXTUploadX5_FileData()) {
	item = (FileItem)file;
	if (item.isEmpty() == false) {
		item.save();
		...
	}
}
...

OROFでファイルをアップロードする場合、サーバーサイドからのリクエストは1ファイルにつき1回です。

# サーバーサイド					
...
// OROFなので、サーバーに渡されるファイルフォーム要素は1つだけ。
FileItem file = (FileItem)x5.getDEXTUploadX5_FileData().get(0);
if (file.isEmpty() == false) {
	file.save();
	...
}
...

クライアントはわずかな設定でアップロード方法を変更できるが、サーバー側のコードではアップロード方法によってまったく異なる設定を行うことができる。

DEXTUploadX5は異なるクライアント製品とは異なり、フォームデータと仮想ファイル情報(削除済み)をサーバーに送信せず、純粋にローカルリソースのみをアップロードします。したがって、ファイル削除操作のようなアクションをサーバーに送信したい場合、アップロード処理ではなく、AjaxまたはForm submitを使用する必要があります。