glassfish jersey FormDataContentDisposition getSize返回-1

gui*_*ebl 5 java rest multipartform-data glassfish jersey

我在Glassfish下有一个Jersey RESTful Web服务,它接受上传图像的传入POST请求,消耗MediaType.MULTIPART_FORM_DATA哪些映射到mime类型multipart.

当我收到服务中的实例FormDataContentDisposition fileDetail并致电时fileDetail.getSize()

我总是得到-1

我想知道如何使用Jersey和Multipart文件上传来获取正确的文件大小.

Sil*_*ent 1

我也遇到了这个问题,现在正在寻求RCA和解决方案。

只是一个解决方法:暂时保存文件并使用 File#length() 方法获取上传文件的实际大小。

更多更新:

作为上述方法的补充,继续监视保存的字节大小,当达到文件大小阈值时抛出异常(或执行策略要求的操作)。

另外,不要相信客户直接给出的尺寸,这可能是伪造的,除非客户是可信的。