我使用play 2.1.0并希望实现带有几个参数的文件上传,即multipart/form-data
表单有一些小字段和文件本身。当isMaxSizeExceeded时访问请求主体
如果我上传的文件,而无需使用注释
@BodyParser.Of(value = BodyParser.MultipartFormData.class, maxLength = MAX_FILE_SIZE_B)
,并检查文件的大小像uploadedFile.length > MAX_SIZE
我可以访问请求主体和它的所有不为空的时间。
如果我使用注释,当maxSizeExceeded ctx.request().body().asMultipartFormData()
为null时,即使我的小参数在浏览器发送的请求中首先出现。这是正确的行为,是任何方式来获取小参数,即使文件太大?
确实,第一种方法很糟糕,因为大型文件实际上会上传到服务器上?
行为是预期的,因为一旦有效载荷大小超过max_size限制,有效载荷就会被丢弃。所以,你不能访问任何表单域。请尝试将这些字段添加为请求标头的一部分,如果有帮助的话。对不起,迟到的回应,迟到比从未更好:)。 – Sundar 2013-04-23 09:28:08
@Sundar你可以请创建一个答案,我会接受它。还链接到源将非常感激。 – 2013-04-23 15:29:45