2012-06-28 2 views
2

기본적으로 String param을받는 REST 서비스를 제공해야합니다.이 매개 변수를 사용하여 다른 시스템에서 파일을 가져온 다음 가져온 파일을 응답으로 다시 반환해야합니다.파일을 응답으로 반환하는 올바른 방법은 무엇입니까?

효과는 사용자가 pdf 또는 다른 이진 파일 링크를 클릭 할 때와 동일해야하며 브라우저가 그 파일을 저장/다운로드하라는 메시지를 표시합니다.

점 몇 :

  • 는 (나는 소스 시스템에서 그들을받을으로 바이트를 보내) 파일을 스트리밍 할 수 있습니다. 즉, 매우 큰 파일을 처리하는 방법은 무엇입니까?
  • 또한 스트리밍과 관련하여 일반 HttpServletResponse를 사용할 때 대용량 파일을 완전히 읽을 때까지 기다려야합니까? return response.build()?

Apache Wink를 사용하여 어떻게해야합니까?

추신 : 죄송 합니다만, 이것은 윙크 전문가에게 사소한 일일 수 있지만, 단지 머리 주위를 developer guide으로 감싸기 시작했습니다.

답변

3

java.io.File을 방금 보내실 수 있습니다. 원한다면 Response으로 감쌀 수 있습니다. 윙크가 스트리밍을 처리합니다. response.build()으로 전화를 걸면 스트리밍이 시작되지 않고 방법이 끝났을 때 스트리밍이 시작됩니다.

올바른 다운로드 대화 상자가 필요하면 올바른 Content-Disposition 헤더를 보내야합니다. How to set response header in JAX-RS so that user sees download popup for Excel?

보기
관련 문제