이 사이트는 전자정부 표준프레임워크 구버전(1.0 ~ 4.3) 가이드 아카이브입니다. 내용은 더 이상 갱신되지 않습니다. 최신 내용은 최신 버전 문서에서 확인하세요.

공통컴포넌트 3.10

요소기술 - 파일업로드

개요

첨부파일에 대한 업로드 기능을 제공한다.

설명

MultipartHttpServletRequest 및 MultipartFile을 통해 첨부된 파일 정보를 취득하고 서버에 저장 기능을 처리한다.

관련소스

관련소스
유형대상소스설명비고
Serviceegovframework.com.cmm.service.EgovFileMngUtil.java첨부파일 처리 공통 유틸리티
Controlleregovframework.com.utl.fcc.web.EgovFileUploadController.java테스트용 controller
JSP/WEB-INF/jsp/egovframework/cmm/utl/EgovFileUpload.jsp테스트 페이지

메소드

메소드
결과값메소드설명내용
HashMapuploadFile(MultipartFile file)파일 업로드첨부로 등록된 파일을 서버 업로드하는 기능
ListparseFileInf(Map<String, MultipartFile> files, String Key, int fileKey, String atchFileId, String storePath)첨부파일 정보취득첨부로 등록된 파일에 대한 정보를 얻는 기능

Input

  • file: MultipartHttpServletRequest 객체로 부터 얻어진 MutipartFile 객체로 null아 아닌 유효 객체
  • Validation 체크: 요소기술 Validation 체크

Output

  • HashMap : 업로드된 파일 정보 (사용방법 참조)
  • List : FileVO 객체 리스트

환경설정

파일 저장 위치를 지정하기 위해서 EgovPropertyService 서비스를 사용한다.

(EgovPropertyService는 User home 디렉토리밑에 egovProps/globals.properties 파일을 참조하고 현재의 파일 업로드 기능은 해당 속성파일의 “Globals.fileStorePath” 속성을 사용한다.)

  • User home 디렉토리 : System.getProperty(“user.home”)를 통해 얻는 정보로 Windows 계열의 OS는 보통 “C:\Documents and Settings\사용자계정“이고, Unix계정의 경우는 ”/home/사용자계정“이 된다.

사용방법

우선 globals.properties 파일에 다음과 같은 속성이 정의되었다고 가정한다.

...
Globals.fileStorePath =  C:/Documents and Settings/Administrator/egovProps/
...
import egovframework.com.cmm.service.EgovFileMngUtil;
 
...
MultipartHttpServletRequest mptRequest = (MultipartHttpServletRequest)request;
 
Iterator fileIter = mptRequest.getFileNames();
 
while (fileIter.hasNext()) {
	MultipartFile mFile = mptRequest.getFile((String)file_iter.next());
 
	if (mFile.getSize() > 0) {
		HashMap map = EgovFileMngUtil.uploadFile(mFile);
 
		System.out.println("[ "+Globals.FILE_PATH+" : "+_map.get(Globals.FILE_PATH)+" ]");
		System.out.println("[ "+Globals.FILE_SIZE+" : "+_map.get(Globals.FILE_SIZE)+" ]");
		System.out.println("[ "+Globals.ORIGIN_FILE_NM+" : "+_map.get(Globals.ORIGIN_FILE_NM)+" ]");
		System.out.println("[ "+Globals.UPLOAD_FILE_NM+" : "+_map.get(Globals.UPLOAD_FILE_NM)+" ]");
		System.out.println("[ "+Globals.FILE_EXT+" : "+_map.get(Globals.FILE_EXT)+" ]");
	}
}

참고자료

원본 페이지 ID
egovframework:파일업로드
원본 수정일