我在 post 方法的正文中发送大量文本。
我使用 Postman 来测试这一点。
但是它工作正常,我可以像这样读取请求正文:
String text = request().body().asText();
但是当我尝试在正文中发送大量数据时,我得到的文本为空。
我也尝试使用字符串生成器,但我也得到空值。
InputStream is = new ByteArrayInputStream(request().body().asText().getBytes());
BufferedReader br = new BufferedReader(new InputStreamReader(is));
有办法解决吗?
默认情况下,Play 将向文本解析器上传的数据大小限制为 100kb(*)。这可以在全局范围内更改为更大的值parsers.text.maxLength
in application.conf
parsers.text.maxLength=4M
或在特定的响应或操作中使用
@BodyParser.Of(value = TheBodyParser.class, maxLength = 4 * 1024 * 1024)
public Result upload() {
// (...)
}
or
def upload = Action(parse.text(maxLength = 4 * 1024 * 1024)) { request =>
// ()
}
(*) 对于缓冲内容(前多部分形式)的解析器,限制为 10MB,可以使用以下命令进行更改parsers.disk.maxLength
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)