我一直在尝试发送大量的post数据到play 2.0控制器,但没有成功。我使用MultipartFormData
body parser,但是任何大于100KB
的表单字段都返回空。
代码如下:
@BodyParser.Of(value = BodyParser.MultipartFormData.class)
RequestBody body = request().body();
if(body.asMultipartFormData() != null) {
Logger.debug("size: " + body.asMultipartFormData().asFormUrlEncoded().size());
String data = body.asMultipartFormData().asFormUrlEncoded().get("xmlData")[0];
//data returns empty.
我也尝试了不同的身体分析器,但都不起作用。如何在
play 2.0
中读取较大的post值(高达1MB)?谢谢。
最佳答案
尝试将此添加到您的application.conf
-parsers.formUrlEncoded.maxLength=1024K
中。
或者可以尝试将maxlength参数添加到BodyParser中,如下所示:@BodyParser.Of(value = BodyParser.MultipartFormData.class, maxLength = 1024 * 1024)
(但没有测试)。
您可以在“最大内容长度”一节中详细阅读here。
关于java - Play Framework 未收到大数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18085291/