В принципе, я хочу разрешить пользователю загружать csv-файл с сервера. Предположим, что файл CSV уже существует на сервере. Конечная точка API открывается через GET/export. Как я могу передать файл с HTTP-сервера Akka на клиент? Это то, что я до сих пор ...Поток файлов с сервера на клиент с помощью 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 Можете ли вы поделиться своим подходом с тем, что вы сделали дальше? – oblivion
'def export(): Source [ByteString, _] = Source.fromPublisher (db.stream (things.result.transactionally.withStatementParameters (fetchSize = 1000)))' Где 'вещи' - это TableQuery – perry