我对akka世界有点陌生,所以我的知识领域有点小。我正在创建一个https服务器,并使用akka流和http来处理它,对于一个特定的url,我需要将一个文件发送回客户端。我如何才能使用akka流并避免akka路由来实现这一点呢?
def handleCall(request:HttpRequest):HttpResponse = {
logger.info("Request is {}",request)
val uri:String = request.getUri().path()
if(uri == "/download"){
val f = new File("/1000.txt")
logger.info("file download")
return HttpEntity(
//What should i put here if i want to return a text file.
)
}
3条答案
按热度按时间2vuwiymt1#
如果文件可能很大,那么在发送到客户端之前,您不希望将整个内容消耗到内存中。这可以通过一个纯粹基于流的解决方案来解决:
现在,您可以创建并发送HttpResponse,而无需让服务器保留整个内容:
li9yvcax2#
akka Http路线
curl 请求
复制自HttpEntity.scala
v6ylcynt3#