on
SPRING MVC file download
SPRING MVC file download
파일 Download 구현..
파일 download 를 구현하는 경우 , 컨트롤 class는 download받을 파일과 관련된 정보를 생성해서 뷰에 전달한다.
예시로. File 객체를 download뷰에 전달하는 컨트롤러는.
파일 download 를위한 뷰는 jsp나 velocity가 아니기에, 파일 download를 위한 커스텀 뷰 class를 구현해 줘야 한다
또한, BeanNameViewResolver이나 XmlViewResolver을 이용해서 커스텀 뷰 Class를 사용할 수 있도록 알맞게 설정해야 한다.
예시.
파일 download를 구현하려면 컨테츠 타입을 "application/octet-stream"과 같이 Download를 위한 타입으로 설정해줘야 하고 download 받는 파일이름을 알맞게 설정하기 위해서 Content-Disposition헤더의 값도 알맞게 맞춰줘야한다.
예시.
public DownloadView() { // 생성자를하나 만들고
setContentType("application/download; charset=UTF-8"); // 컨텐츠 타입으로 application/download를 만들고 utf-8을 준다
}
29 - download되는 파일의 크기를 설정.
43 - Content-Disposition헤더를 이용해 전송되는 파일이름을 명시하고
45 - 전송되는 데이터 인코딩이 바이너리 타입이라는 것을 나타낸다..
46 - 파일 download와 관련된 헤더를 알맞게 설정한 뒤 response의 outputstream에 파일을 전송한다.
Spring이 제공하는 유틸리티 Class인 FileCopyUtils Class를 이용해 FileInputStream으로부터 데이터를 읽어와
response의 outputstream을 통해서 출력된다.
출력 결과 : (크롬실행)
from http://workerst.tistory.com/70 by ccl(A) rewrite - 2021-12-28 15:01:33