scala – (Play 2.0)为AnyContent设置最大POST大小
发布时间:2020-12-16 09:19:50 所属栏目:安全 来源:网络整理
导读:我在Play 2.0中使用Scala,每当大型数据(超过100KB)被发布到特定端点时,我会遇到413错误.它使用anyContent解析器,对于此特定API使用任何其他解析器是不合理的. Stack Overflow还有其他问题,显示如何增加文本或JSON请求的最大POST大小.如何为任何内容进行操作,
我在Play 2.0中使用Scala,每当大型数据(超过100KB)被发布到特定端点时,我会遇到413错误.它使用anyContent解析器,对于此特定API使用任何其他解析器是不合理的.
Stack Overflow还有其他问题,显示如何增加文本或JSON请求的最大POST大小.如何为任何内容进行操作,还是只增加项目范围的限制? 解决方法
TL; DR添加parsers.text.maxLength = 512k或任何大小到您的application.conf
更新:发现在official documentation 它实际上记录在API,虽然它需要一些挖掘来实际找到它. 展开DEFAULT_MAX_TEXT_LENGTH表示通过在application.conf中设置parsers.text.maxLength可以配置文本数据的最大大小.查看源本身,默认值为100Kb,所以这很有可能需要设置. 在一个有点相关的笔记中,我们还有maxLength方法可以用于任何BodyParser,这意味着非文本数据,除非你应用该方法,否则没有上限.事实上,我们可以将它应用到AnyContent解析器,如下所示: def foo = Action(parse.maxLength(512 * 1024,parser = parse.anyContent)) { implicit req => req.body match { case Left(_) => EntityTooLarge case Right(body) => Ok("This is totally not too large") } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |