加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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")
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读