如何将base64编码文件发送到PlayFramework服务器?

时间:2013-02-13 11:45:17

标签: file-upload filereader playframework-2.1

我想使用新的FileReader API实现FileUpload。从客户端来看,一切运行良好,我可以使用包含Base64编码文件的正确字段向服务器发送PUT请求。

但是在服务器端,它不会很好,这是我的结果:

Logger.info(String.valueOf(request().body().asRaw())); // null
Logger.info(String.valueOf(request().body().asText())); // null

最重要的是:

Logger.info(String.valueOf(request().body().isMaxSizeExceeded())); // true !

我错过了什么?我怎样才能使它发挥作用?

1 个答案:

答案 0 :(得分:4)

我找到了问题的答案!

对于那些正在寻找它的人来说,这就是答案:

您需要添加BodyParser作为方法的注释,并指定更高的maxLength值。

@BodyParser.Of(value = BodyParser.Json.class, maxLength = 1024 * 1024)
public static Result method() {
    Logger.info(String.valueOf(request().body().asJson())); // Will not be empty!
}