====== 요소기술 - 파일다운로드 ====== ===== 개요 ===== 첨부파일에 대한 다운로드 기능을 제공한다. ===== 설명 ===== 서버에 저장되어 있는 파일을 다운로드할 수 있는 기능을 HttpServletResponse를 통해 처리한다. == 관련소스 == ^유형^대상소스^설명^비고^ |Service|egovframework.com.cmm.service.EgovFileMngUtil.java|첨부파일 처리 공통 유틸리티| | |Controller|egovframework.com.utl.fcc.web.EgovFileDownController.java|테스트용 controller| | |JSP|/WEB-INF/jsp/egovframework/cmm/utl/EgovFileDown.jsp|테스트 페이지| | == 메소드 == ^결과값^메소드^설명^내용^ |void|downFile(HttpServletRequest request, HttpServletResponse response)|파일 다운로드|첨부로 등록된 파일에 대한 다운로드 기능| |void|downFile(HttpServletRequest request, HttpServletResponse response, String storeFilePath)|파일 다운로드|첨부로 등록된 파일에 대한 다운로드 기능(저장위치 지정)| == Input == * request: JSP 또는 Servlet의 request 객체 ("downFile", "orginFile" attribute를 포함) * response : JSP 또는 Servlet의 response 객체 * storeFilePath : 파일 저장 위치로 null이 아닌 String 객체 * Validation 체크: [[요소기술_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:파일업로드]]