![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/brbeXP/btqw85vUGZJ/jwEzAVNaKb9ocvqjDlcPXK/img.png)
Spring - FileDownload FileResource를 읽어오는 방법 Spring ResourceLoader FileDownload시 응답 헤더 Content-Dispoistion: 사용자가 해당 파일을 다운로드시 사용할 파일명 Content-Type: 파일의 타입 Content-Length: 파일의 크기 Apache-Tika 파일의 타입 (MediaType) ResponseEntity 응답 상태코드 응답 헤더 응답 본문 FileDownload ResourceLoader를 사용해서 fileName에 해당하는 Resource를 읽어온다. resource에서 얻은 File객체를 Tika 를 활용하여 해당 파일의 Type 정보를 취득 ResponseEntity의 응답헤더로 CONTENT_DISPOSI..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/V2EdB/btqxaEdwYtG/oqHKFwem4x39kmR9zuAf70/img.png)
Spring - ResourceLoader ResourceLoader ResourceLoader는 리소스를 읽어오는 기능을 제공하는 Interface 리소스를 읽어 Resource Type 객체를 반환한다. Spring 을 사용한다면 @Autowired를 통하여 의존성 주입을 받아 바로 사용할 수 있다. ApplicationContext는 ResourceLoader를 구현하고 있기때문에 ApplicationContext로도 ResourceLoader의 기능을 사용할 수 있다. ResourceLoader를 우리가 Bean으로 등록하지 않았는데 대체 어떻게 사용할수 있는것일까 ? 테스트 코드 결과 ApplicationContext는 ResourceLoader를 구현하고 있기때문에 ResourceLoader ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/l54Rz/btqw79E869k/o90yR9nseTvGRKQf7dCFHK/img.png)
Spring Handler Method - MultipartFile MultipartFile FileUpload 처리시 사용할 수 있는 Handler Method ArgumentType이다. 이를 사용하려면 DispatcherServlet에 MulitpartResolver가 빈으로 등록 되어 있어야 한다. DispatcherServlet의 initMultipartResolver 부분에서 설정을 한다. 기본 전략은 MultipartResolver = null initMultipartResolver SpringBoot는 MultipartAutoConfiguration class에 의해 자동으로 설정된다. MultipartResolver의 상세 Property 들은 MultipartProperties clas..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/5hR9S/btqw79d0HOs/n4aFx1rDzDEMP7340FJryK/img.png)
Spring Handler Method - @RedirectAttributes Redirect시 Model에 존재하는 Primitive Type데이터는 자동으로 URI QueryParameter로 추가된다. 스프링부트 에서는 이 기능이 기본적으로 비활성화 되어있다. RequestMappingHandlerAdapter 설정에 setIgnoreDefaultModelOnRedirect = true 로 되어있음. Ignore-default-model-on-redirect 옵션을 사용해서 활성화 할 수 있음. Model에 존재하는 모든 Primitive Type DATA들을 추가하지않고, 원하는 데이터만 명시적으로 추가하고 싶다면 RedirectAttributes를 사용한다. RedirectAttributes S..