ORAF/OROF 파일 업로드

Home > 기본 예제 > 예제 03

설명

DEXTUploadX5는 파일 업로드는 동작 방식으로 네 가지 모드를 지원한다.

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

// ORAF, OROF, EXTS, AWSS3로 업로드 모드를 설정한다.
dx.setUploadMode("ORAF");

// 파일 업로드는 자동 바인딩 기능을 사용하지 않고 upload 함수를 사용하여 시작할 수 있다.

// 로컬 파일 모두 업로드한다.
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개당 한 번의 요청(request)가 발생한다.

# 서버 측 설정이다.						
...
// OROF이므로 서버로 전달되는 파일 폼 요소는 오직 하나이다.
FileItem file = (FileItem)x5.getDEXTUploadX5_FileData().get(0);

if (file.isEmpty() == false) {
	file.save();
	...
}
...

클라이언트는 몇 가지 설정만으로 업로드 방식을 변경할 수 있지만, 서버 측 코드는 업로드 방식에 따라 구성이 완전히 달라질 수 있다.

예제

DEXTUploadX5는 자사의 기존 클라이언트 제품과 달리 Form 데이터와 가상 파일 정보(삭제)를 서버로 전송하지 않으며,
순수하게 로컬 자원만 업로드 대상이 된다.
그러므로 파일 삭제 작업처럼, 서버로 액션을 전달하려는 경우에는 업로드에서 처리하지 않고, 따로 Ajax나 Form submit을 사용하여 처리해야 한다.