【发布时间】:2015-12-16 02:44:20
【问题描述】:
我正在尝试通过以下方式使用 Play 的 EssentialAction 将文件内容流式传输到 S3:
def upload(fileName: String) = EssentialAction { request =>
val (iteratee, enumerator) = Concurrent.joined[Array[Byte]]
blobStore.streamToStore(fileName, enumerator) //consumes the enumerator, streams to S3 and returns Future[Unit]
iteratee.map { _ =>
Logger.debug(s"Successfully uploaded file=$fileName")
Created(Json.obj("id" -> fileName))
}
}
如果blobStore.streamToStore 流式传输成功,则上述方法有效,但如果流式传输时出现任何错误,则请求永远不会完成,在iteratee 上执行recover 也无济于事。有人可以说明在这种情况下如何处理错误吗?
【问题讨论】:
标签: scala amazon-s3 playframework