목차

요소기술 - 파일업로드

개요

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

설명

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
Output

환경설정

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

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

사용방법

우선 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)+" ]");
	}
}

참고자료