coo*_*eze 5 scala akka akka-stream
如果我尝试下载一个非常大的文件(超过100 MB),我会收到此错误:
You can configure this by setting `akka.http.[server|client].parsing.max-content-length` or calling `HttpEntity.withSizeLimit` before materializing the dataBytes stream.
val responseFuture: Future[HttpResponse] =
Http().singleRequest(HttpRequest(uri = "http://akka.io"))
Run Code Online (Sandbox Code Playgroud)
我正在读,我可以以某种方式设置HttpEntity withoutSizeLimit,我该怎么做?
顺便说一句,如果我将这些配置设置添加到我的application.config,它不能解决问题:
akka.http.server.parsing.max-content-length=913753229
akka.http.client.parsing.max-content-length=913753229
Run Code Online (Sandbox Code Playgroud)
withSizeLimit(maxBytes: Long)我注意到方法的源代码注释akka.http.scaladsl.model.HttpEntity:
Source请注意,只有当该实体中包含的实例已通过该方法进行适当修改时,通过此方法应用的大小限制才会产生任何影响HttpEntity.limitable。对于 HTTP 层本身创建的所有实体,情况总是如此,但如果您自己创建实体并希望它们正确遵守通过此方法定义的限制,您需要确保HttpEntity.limitable自己应用。
也许你需要转换对象中提供的Sourcewith方法才能生效。这里有一些例子:akka http doc。limitableByteSource()HttpEntitywithoutSizeLimit
withSizeLimit()我遇到了同样的问题,但文档中关于为什么不起作用的有用信息较少。幸运的是,源代码提供了有用的信息:-)
| 归档时间: |
|
| 查看次数: |
1874 次 |
| 最近记录: |