어제 파일 업로드에 이어 오늘은 파일 다운로드를 배웠다. 여러가지 방법이 있지만 Response 방식과 Spring(ResponseEntity) 방식에 대해 배웠다.
1) 먼저 Response 방식을 살펴본다. url로 사용자가 다운받으려는 파일번호를 보내면 다운로드를 처리해주는 메소드이다. 파일번호(no)을 통해 DB에서 파일정보를 가져온 후(dao.getGallery(no)) vo를 바탕으로 파일을 전송한다. HttpServletResponse의 setHeader 메소드를 통해 Type, Disposition, Length 를 설정해준다. 그리고 서버 컴퓨터에서 파일을 가져온 후 바이트로 변환, 데이터를 사용자에게 보내는 과정을 거치게 된다.
2) DB에 존재하는 파일번호로 url 접근을 해보면 다운로드가 정상적으로 진행되는 것을 알 수 있다.
3) 다음은 Spring 방식으로 ResponseEntity를 사용한다. 파일정보를 가져오고 바이트로 변환하는 과정까지는 위와 다르지 않다. ResponseEntity를 사용해 Response 방식에서 각각 해야했던 header설정을 하나의 문장으로 설정할 수 있다.
4) DB에 존재하는 파일번호로 url 접근을 해보면 다운로드가 정상적으로 진행되는 것을 알 수 있다.