gpt4 book ai didi

java - 如何在 rest api jersey 中获取文件的大小

转载 作者:搜寻专家 更新时间:2023-11-01 03:19:04 26 4
gpt4 key购买 nike

我已经制作了一个 rest api,它工作正常,但我想读取文件的大小,我使用下面的代码来读取文件的大小

@POST
@Path("/test")
@Consumes(MediaType.MULTIPART_FORM_DATA)
public Response upload( FormDataMultiPart form ){
System.out.println(" size of file="+ filePart.getContentDisposition().getSize());
}

但我得到了文件 -1 的大小。

谁能建议我如何读取文件的实际大小。

但是使用

System.out.println(" data name ="+ filePart.getContentDisposition().getFileName());

我得到了正确的文件名。

最佳答案

首先,我认为限制数据大小的最好方法是在服务器配置上进行设置。请查看相关ref.

其次,由于它是随 Stream 一起提供的,所以它会遇到 EOF 或类似的。这意味着您无法从一开始就找到尺寸。

然而,第三种判断 Jersey 尺寸的替代方法是使用 HTTP header 的内容尺寸。服务器首先获取“Content-Length” header 以了解正文的大小。 @Context HttpServletRequest 请求request.getContentLength() 方法。但是因为它有多个部分,你需要注意主体大小是数据和协议(protocol)开销的总和(分隔符/内容信息)

祝你好运

关于java - 如何在 rest api jersey 中获取文件的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36834663/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com