Play 웹 API (비동기)로 파일 다운로드

메이 삼 에맘 조메

Play API 프레임 워크를 사용하여 파일을 다운로드하려고합니다. 모든 데이터 액세스 레이어가 이미 Futures로 구현되었으므로 비동기 작업에서도 작동하도록 다운로드하고 싶습니다. 그러나 다음 코드는 작동하지 않습니다. 그리고 작동하지 않는다는 것은 클라이언트로 보낸 파일이 서버의 파일과 동일하지 않음을 의미합니다.

  val sourcePath = "/tmp/sample.pdf"

  def downloadAsync = Action.async {
    Future.successful(Ok.sendFile(new java.io.File(sourcePath)))
  }

그러나이 작품은 다음과 같이 작동합니다.

  def download = Action {
    Ok.sendFile(new java.io.File(sourcePath))
  }

비동기 메서드를 작동시키는 방법에 대한 제안이 있습니까?

주인

이미 차단 되지 않았으므로 실제로 Action.async여기에서 사용할 필요가 없습니다 Ok.sendFile. 에서 워드 프로세서 :

Play 액션은 기본적으로 비동기식입니다. 예를 들어 아래 컨트롤러 코드에서 코드의 { Ok(...) }일부는 컨트롤러의 메서드 본문이 아닙니다. Action 유형의 개체를 만드는 Action개체의 apply메서드 에 전달되는 익명 함수입니다 . 내부적으로 작성한 익명 함수가 호출되고 그 결과는 Future.

def echo = Action { request =>
  Ok("Got request [" + request + "]")
}

참고 : 모두 Action.applyAction.async같은 방식으로 내부적으로 처리하는 작업 개체를 만들 수 있습니다. 두 가지 유형 (동기식 및 비동기식)이 아닌 비동기식 단일 유형의 Action이 있습니다. .async빌더는 쉽게 비 차단 코드를 작성하게하는 미래를 반환하는 API를 기반으로 작업을 생성 단순화하기 위해 단지 시설입니다.

즉,이 특정 경우에 Result를 a로 래핑하는 것에 대해 걱정하지 말고 Future그냥 return하십시오 Ok.sendFile.


마지막으로 두 버전 모두 예상대로 작동합니다 (파일이 제대로 전달되었습니다). 행동을 선언 한 방법과 관련이없는 또 다른 문제가있을 수 있습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

웹 API 서비스에서 PDF 파일 다운로드 문제

분류에서Dev

HttpClient로 웹 API 대용량 파일 다운로드

분류에서Dev

.net 핵심 웹 API에서 Excel 파일 다운로드

분류에서Dev

API 파일 다운로드

분류에서Dev

Play! 2 Scala에서 웹 서비스로 파일 보내기

분류에서Dev

closedxml을 사용하여 웹 API에서 Excel 파일 다운로드

분류에서Dev

비동기 파일 다운로드

분류에서Dev

C # Awesomium 웹 컨트롤-자동으로 파일 다운로드 및 열기

분류에서Dev

Android Drive API 다운로드 파일

분류에서Dev

API Gateway + Lambda 다운로드 CSV 파일

분류에서Dev

Apahce 웹 사이트-파일 업로드 및 다운로드

분류에서Dev

웹 사이트에서 파일 자동 다운로드

분류에서Dev

웹 사이트에서 파일 (게임 모드) 다운로드

분류에서Dev

웹 페이지를 텍스트 파일로 다운로드

분류에서Dev

Google Cloud-웹에서 대용량 파일 다운로드

분류에서Dev

자바 웹에서 다운로드 할 PDF 파일 생성

분류에서Dev

C # WPF 웹 브라우저 컨트롤-파일 다운로드

분류에서Dev

내 웹 페이지 내 링크에서 파일 다운로드

분류에서Dev

파일 다운로드 중 401 웹 예외

분류에서Dev

웹 페이지의 모든 소스 파일 다운로드

분류에서Dev

웹 사이트에서 Java 다운로드 파일

분류에서Dev

C 웹 브라우저 다운로드 파일

분류에서Dev

웹 사이트에서 audio.aif 파일 다운로드

분류에서Dev

웹 사이트에 호스팅 된 파일 다운로드

분류에서Dev

웹 페이지에서 파일 다운로드

분류에서Dev

Python : 웹 페이지에서 파일 다운로드, ashx

분류에서Dev

웹 사이트에서 CSV 파일 다운로드

분류에서Dev

게시 된 웹 페이지에없는 파일 다운로드

분류에서Dev

Play2.4 Scala 안드로이드 장치에서 PDF 파일 다운로드

Related 관련 기사

  1. 1

    웹 API 서비스에서 PDF 파일 다운로드 문제

  2. 2

    HttpClient로 웹 API 대용량 파일 다운로드

  3. 3

    .net 핵심 웹 API에서 Excel 파일 다운로드

  4. 4

    API 파일 다운로드

  5. 5

    Play! 2 Scala에서 웹 서비스로 파일 보내기

  6. 6

    closedxml을 사용하여 웹 API에서 Excel 파일 다운로드

  7. 7

    비동기 파일 다운로드

  8. 8

    C # Awesomium 웹 컨트롤-자동으로 파일 다운로드 및 열기

  9. 9

    Android Drive API 다운로드 파일

  10. 10

    API Gateway + Lambda 다운로드 CSV 파일

  11. 11

    Apahce 웹 사이트-파일 업로드 및 다운로드

  12. 12

    웹 사이트에서 파일 자동 다운로드

  13. 13

    웹 사이트에서 파일 (게임 모드) 다운로드

  14. 14

    웹 페이지를 텍스트 파일로 다운로드

  15. 15

    Google Cloud-웹에서 대용량 파일 다운로드

  16. 16

    자바 웹에서 다운로드 할 PDF 파일 생성

  17. 17

    C # WPF 웹 브라우저 컨트롤-파일 다운로드

  18. 18

    내 웹 페이지 내 링크에서 파일 다운로드

  19. 19

    파일 다운로드 중 401 웹 예외

  20. 20

    웹 페이지의 모든 소스 파일 다운로드

  21. 21

    웹 사이트에서 Java 다운로드 파일

  22. 22

    C 웹 브라우저 다운로드 파일

  23. 23

    웹 사이트에서 audio.aif 파일 다운로드

  24. 24

    웹 사이트에 호스팅 된 파일 다운로드

  25. 25

    웹 페이지에서 파일 다운로드

  26. 26

    Python : 웹 페이지에서 파일 다운로드, ashx

  27. 27

    웹 사이트에서 CSV 파일 다운로드

  28. 28

    게시 된 웹 페이지에없는 파일 다운로드

  29. 29

    Play2.4 Scala 안드로이드 장치에서 PDF 파일 다운로드

뜨겁다태그

보관