【发布时间】:2014-07-31 21:31:02
【问题描述】:
我有一个 akka actor,它会生成一堆文件,然后将它们压缩起来,然后返回那个 zip 文件。然后我想将此文件传递回完整的喷涂路由方法,以允许下载 zip 文件。
我真的很想能够使用 getFileFrom,但我似乎无法找到一种方法来利用它来返回未来。我也尝试将文件传递回完整的函数,但得到一个非常神秘的错误。
我如何链接期货以获得我想要在浏览器中下载的结果?
这是我正在使用的一些代码
get {
path("test") {
respondWithMediaType(`application/zip`) {
complete {
val pi = new PackageInfo("Test")
doCreate(pi)
}
}
}
}
def doCreate(pi: PackageInfo) = {
val response = (worker ? Create(pi))
.mapTo[Ok]
.map(result => result.zipFile: File)
.recover { case _ => "error" }
response
}
尝试不同事物时收到的许多错误之一
could not find implicit value for parameter marshaller: spray.httpx.marshalling.ToResponseMarshaller[scala.concurrent.Future[Comparable[_ >: java.io.File with String <: Comparable[_ >: java.io.File with String <: java.io.Serializable] with java.io.Serializable] with java.io.Serializable]]
【问题讨论】: