Controller 에서 PDF 파일 내려주기

유재영·2022년 9월 7일
0

spring

목록 보기
1/3
post-thumbnail

스프링 MVC 구조를 기반의 내용입니다.

/**
 * file steam controller
 *
 */
@RequestMapping("/요청")
public void getFileController(HttpServletResponse resp, HttpSevletRequest req){
	try{
    	String fileRealPath = 
       req.getSession().getServletContext()
       .getRealPath("/static/doc/xxx.pdf");
        File file = new File(fileRealPath);
        resp.setHeader("Content-Type", "application/pdf");
        resp.setHeader("Content-Length", String.valueOf(file.length()));
        //기본값(생략가능) 브라우저에서 파일이 열림
        resp.setHeader("Content-Disposition", "inline");
        //파일이 다운 받아짐
        resp.setHeader("Content-Disposition", "attachment");
        //파일명 설정 (옵션)
        resp.setHeader("filename", "xxx.pdf");
        
        Files.copy(file.toPath(), resp.getOutputStream());
    } catch (IOException e) {
    	//예외처리
    }
}

보다 좋은 코드 방안이 있으신분은 공유해주시면 감사하겠습니다 :)

profile
🤤🤤🤤

0개의 댓글