3
기본적으로 사용자가 서버에서 CSV 파일을 다운로드 할 수있게하려고합니다. CSV 파일이 이미 서버에 있다고 가정합니다. API 엔드 포인트는 GET/export를 통해 공개됩니다. Akka HTTP 서버에서 클라이언트로 파일을 스트리밍하려면 어떻게해야합니까? 이 ... 나는 지금까지 무엇을 가지고Akka를 사용하여 서버에서 클라이언트로 파일 스트리밍
서비스 :
def export(): Future[IOResult] = {
FileIO.fromPath(Paths.get("file.csv"))
.to(Sink.ignore)
.run()
}
경로 :
pathPrefix("export") {
pathEndOrSingleSlash {
get {
complete(HttpEntity(ContentTypes.`text/csv`, export())
}
}
}
고마워요! 나에게 다음 단계는 서버에 임시 파일을 먼저 만들지 않고 행을 쓰면 클라이언트에 파일을 스트리밍하는 것입니다. – perry
@perry 다음에했던 것에 대해 접근 방식을 알려주실 수 있습니까? 여기서'things'는 a TableQuery입니다. – oblivion
'def things() : Source [ByteString, _] = Source.fromPublisher (db.stream (things.result.transactionally.withStatementParameters (fetchSize = 1000))) – perry