【发布时间】:2013-04-04 22:38:42
【问题描述】:
我用的是play 2.1.0,想用几个参数实现文件上传,即multipart/form-data表单有一些小字段和文件本身。
如果我不使用注释上传文件
@BodyParser.Of(value = BodyParser.MultipartFormData.class, maxLength = MAX_FILE_SIZE_B)
并检查像uploadedFile.length > MAX_SIZE 这样的文件大小,我可以访问请求正文,并且它始终不为空。
如果我使用注解,当 maxSizeExceeded ctx.request().body().asMultipartFormData() 为空时,即使是我的小参数也会在浏览器发送的请求中排在第一位。这是正确的行为吗,即使文件太大,有什么方法可以获取小参数吗?
是不是第一种方式不好,因为大文件实际上会上传到服务器上?
【问题讨论】:
-
这种行为是预期的,因为一旦负载大小超过 max_size 限制,负载就会被丢弃。因此,您无法访问任何表单字段。如果有帮助,请尝试将这些字段添加为请求标头的一部分。抱歉回复晚了,迟到总比没有好:)。
-
@Sundar 您能否创建一个答案,我会接受。也非常感谢链接到源代码。
标签: java playframework multipartform-data playframework-2.1