`Akka http 10.0.6;
max-content-length is set to 6000m`
我使用Akka文件流上传大文件(以octet-stream形式发送到我的服务)接受传入的字节并将其写入文件接收器。这是我从实验中观察到的..我阅读文档的有限理解是客户端应该能够继续发送数据,除非我们明确告诉akka http的背压机制..一直在网上搜索了解这种行为,不能要了解这一点,以解释以下行为..代码中是否有我遗漏的东西?我该如何调试呢?此外,通过scalatest,能够做到这一点。如果有人可以通过stalatest和curl / http客户端的行为差异投入更多的力量。谢谢
这是代码..
`put {
withoutSizeLimit {
extractDataBytes { bytes =>
implicit val system = ActorSystem()
implicit val materializer = ActorMaterializer()
// Tried system dispatcher also
implicit val executionContext = system.dispatchers.lookup("dispatcher")
val sink = FileIO.toPath(Paths.get("/file.out"))
val action = bytes.runWith(sink).map {
case ior if ior.wasSuccessful => {
complete(StatusCodes.OK, s"${ior.count} bytes written")
}
case ior => complete(StatusCodes.EnhanceYourCalm, ior.getError.toString)
}
Await.result(action, 300.seconds)
}
}
}`