요소기술 - 파일업로드

개요

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

설명

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

참고자료

 
egovframework/파일업로드.txt · 마지막 수정: 2023/12/21 05:21 (외부 편집기)
 
이 위키의 내용은 다음의 라이센스에 따릅니다 :CC Attribution-Noncommercial-Share Alike 3.0 Unported
전자정부 표준프레임워크 라이센스(바로가기)

전자정부 표준프레임워크 활용의 안정성 보장을 위해 위험성을 지속적으로 모니터링하고 있으나, 오픈소스의 특성상 문제가 발생할 수 있습니다.
전자정부 표준프레임워크는 Apache 2.0 라이선스를 따르고 있는 오픈소스 프로그램입니다. Apache 2.0 라이선스에 따라 표준프레임워크를 활용하여 발생된 업무중단, 컴퓨터 고장 또는 오동작으로 인한 손해 등에 대해서 책임이 없습니다.
Recent changes RSS feed CC Attribution-Noncommercial-Share Alike 3.0 Unported Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki