요소기술 - 파일다운로드

개요

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

설명

서버에 저장되어 있는 파일을 다운로드할 수 있는 기능을 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);

참고자료

 
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