====== 요소기술 - 파일업로드 ====== ===== 개요 ===== 첨부파일에 대한 업로드 기능을 제공한다. ===== 설명 ===== MultipartHttpServletRequest 및 MultipartFile을 통해 첨부된 파일 정보를 취득하고 서버에 저장 기능을 처리한다. == 관련소스 == ^유형^대상소스^설명^비고^ |Service|egovframework.com.cmm.service.EgovFileMngUtil.java|첨부파일 처리 공통 유틸리티| | |Controller|egovframework.com.utl.fcc.web.EgovFileUploadController.java|테스트용 controller| | |JSP|/WEB-INF/jsp/egovframework/cmm/utl/EgovFileUpload.jsp|테스트 페이지| | == 메소드 == ^결과값^메소드^설명^내용^ |HashMap|uploadFile(MultipartFile file)|파일 업로드|첨부로 등록된 파일을 서버 업로드하는 기능| |List|parseFileInf(Map files, String Key, int fileKey, String atchFileId, String storePath)|첨부파일 정보취득|첨부로 등록된 파일에 대한 정보를 얻는 기능| == Input == * file: MultipartHttpServletRequest 객체로 부터 얻어진 MutipartFile 객체로 null아 아닌 유효 객체 * Validation 체크: [[요소기술_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)+" ]"); } } ===== 참고자료 ===== * 파일다운로드 참조: [[egovframework:파일다운로드]]