>

문자열을 텍스트 파일에 저장하고 브라우저로 보내야합니다. 내 경로 :

def genFileRoute: Route =
    path("someresource" / "generate") {
        get {
            complete( genFile )
        }
    }

그러나 발전기에 문제가 있습니다 :

def genFile = {
    val str = "Hi all! I am a string in future text file"
     // Need to write some code here :(
     // Something like 'php://output' with headers, but for akka.
}

메모리 내 텍스트 파일 file.txt 를 만드는 방법 파일 시스템을 사용하지 않고? 클라이언트 브라우저로 다운로드하는 방법 (다운로드)?

P.S.영어가 유감입니다. 내 모국어가 아닙니다.


  • 답변 # 1

    이를 위해 Content-Disposition 헤더를 사용하려고합니다. 브라우저로 전송되는 파일 이름을 설정할 수 있습니다. 파일을 전혀 만들 필요가 없습니다. 귀하의 예에서 함수는 일반 문자열을 반환 할 수 있습니다.

    def genFile = {
        val str = "Hi all! I am a string in future text file"
        str
    }
    
    

    경로 :

    path("someresource" / "generate") {
      get {
        respondWithHeader(`Content-Disposition`(
            ContentDispositionTypes.attachment, Map("filename" -> "somefile.txt"))) {
          complete(genFile)
        }
      }
    }
    
    

  • 이전 python - 파이 테스트 픽스처 - 스코프 픽스처에서 함수 픽스처 사용
  • 다음 자바 스크립트 자체 호출 함수