Streaming 기능에 대해서 실제로 구현해서 만들어 본 적이 없는데 이번에 PlayFramework에서 아주 간단하게 제공하는 방법이 있다.
참고 사이트 : https://www.playframework.com/documentation/2.3.x/ScalaStream
def index = Action {
val file = new java.io.File("/tmp/fileToServe.pdf")
val fileContent: Enumerator[Array[Byte]] = Enumerator.fromFile(file)
Result(
header = ResponseHeader(200),
body = fileContent
)
}
위의 코드로 간단한 스트리밍 기능? 이 구현이 완료가 되었고 혹시나 Enumerator.fromFile(file) 부분에서 에러가 생긴다면 (import play.api.libs.concurrent.Execution.Implicits._) 이걸 넣어주자
def index = Action {
Ok.sendFile(
content = new java.io.File("/tmp/fileToServe.pdf"),
fileName = _ => "termsOfService.pdf"
)
}
위의 방법은 간단히 파일을 배포하는 것이다. 위의 방식에서는 웹브라우저에서 바로 보여지지만 이 방법은 다운로드를 할 수 있다.
'Development > Web & Server' 카테고리의 다른 글
[Play Framework2] WebSockets (0) | 2015.05.26 |
---|---|
[Play Framework2] Comet sockets (0) | 2015.05.25 |
[Play Framework2] Action composition (0) | 2015.05.23 |
[Play Framework2] Session and Flash scopes (0) | 2015.05.22 |
[Play Framework2] Setting and discarding cookies (0) | 2015.05.20 |