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

공통컴포넌트 3

요소기술 - 파일다운로드

개요

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

설명

서버에 저장되어 있는 파일을 다운로드할 수 있는 기능을 HttpServletResponse를 통해 처리한다.

관련소스

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

메소드

메소드
결과값메소드설명내용
voiddownFile(HttpServletRequest request, HttpServletResponse response)파일 다운로드첨부로 등록된 파일에 대한 다운로드 기능
voiddownFile(HttpServletRequest request, HttpServletResponse response, String storeFilePath)파일 다운로드첨부로 등록된 파일에 대한 다운로드 기능(저장위치 지정)

Input

  • request: JSP 또는 Servlet의 request 객체 (“downFile”, “orginFile” attribute를 포함)
  • response : JSP 또는 Servlet의 response 객체
  • storeFilePath : 파일 저장 위치로 null이 아닌 String 객체
  • Validation 체크: 요소기술 Validation 체크

Output

  • 해당없음

※ 주의사항

10MB이상의 파일을 처리 시 대용량 파일처리 로직 고려(링크방식 또는 상용솔루션 도입등)하여 개발을 진행하여야 합니다.

대용량 파일처리 용량에 기준은 각 사업단의 상황에 따라 변경하실 수 있습니다.

환경설정

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

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

  • User home 디렉토리 : System.getProperty(“user.home”)를 통해 얻는 정보로 Windows 계열의 OS는 보통 “C:\Documents and Settings\사용자계정“이고, Unix계정의 경우는 ”/home/사용자계정“이 된다.
  • 파일 다운로드 최대 크기 설정
       1) comtnfiledetail 테이블 FILE_SIZE 컬럼 Length 설정(최대 byte 자리 수 기준) 
       2) context-common.xml 설정 파일 maxUploadSize,  maxInMemorySize 사이즈 조정

사용방법

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

...
Globals.fileStorePath =  C:/Documents and Settings/Administrator/egovProps/
...
import egovframework.com.cmm.service.EgovFileMngUtil;
 
...
String stordFilePath = EgovProperties.getProperty("Globals.fileStorePath");
 
// 저장된 파일명
String filename = request.getParameter("filename");
// 첨부된 원 파일명
String original = request.getParameter("original");
 
if ("".equals(original)) {
	original = filename;
}
 
request.setAttribute("downFile", stordFilePath + filename);
request.setAttribute("orginFile", original);
 
EgovFileMngUtil.downFile(request, response);

참고자료

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