java - glassfish Jersey FormDataContentDisposition getSize 返回 -1

标签 java rest glassfish jersey multipartform-data

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

当我在我的服务中收到 FormDataContentDisposition fileDetail 的实例并调用 fileDetail.getSize()

我总是得到-1

我想知道如何使用 Jersey 和多部分文件上传来获取正确的文件大小。

最佳答案

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

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

更多更新:

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

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

关于java - glassfish Jersey FormDataContentDisposition getSize 返回 -1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33515081/

相关文章:

java - Java 标准输出中的克罗地亚语字符

http - oauth2.0 如何传递访问 token

jakarta-ee - GlassFish 在不同的物理服务器上运行 EJB

java - StandardWrapperValve [Faces Servlet] : PWC1406 Service. service() 空指针异常

Java - RandomAccessFile() 格式问题

Java正则表达式用于具有两个子字符串且其间不包含特定子字符串的模式

java - 您如何判断用户是否在从 Java servlet 下载期间点击了取消?

http - Restful api 数据同步仅在大集合上更改模型

javascript - 获取在 Node/Express 中传递不同数据的相同 URL 的方法

java - 如何在 Glassfish V4.0 中创建 ManagedThreadFactory 实例