首页 > 解决方案 > 在akka-http完成响应后如何清理?

问题描述

我生成一个文件作为响应发送。响应后下载该 file.csv 想要删除

path("hello") {
    get {
        complete(HttpEntity.fromFile(ContentTypes.`text/csv(UTF-8)`,file.csv))
   }
  }

标签: scalafilehttpakka

解决方案


这是解决方案

  val source = FileIO.fromPath(file.toPath)
                      .watchTermination() { case (_, result) =>
                        result.onComplete(_ => {
                          file.delete()
                          log.info(s"file Deleted  ${file.getPath}")
                        }
                        )
                      }
     complete(HttpEntity(ContentTypes.`text/csv(UTF-8)`, source))

它对我来说很好用


推荐阅读