0

在我的项目中使用文件上传:

 <s:form id="uploadData" action="UploadAction" namespace="xyz"   validateFields="false" method="post"    enctype="multipart/form-data">

但是 request.getContentLength() 方法返回小于 2 gb 的正确值,对于高于它的任何内容返回 0。

可能的原因是内容长度的数据类型为 int。有没有其他方法可以将请求参数:content-length 转换为 long 类型,以支持大于 2gb 的上传。

请指导我们如何将内容长度请求标头转换为长以支持大于 2gb 的文件上传

4

1 回答 1

1

这是因为 Servlet API 中的getContentLength()方法定义为int. 实际上,它应该返回-1大于 2gb 的文件(请求)。

如果您使用的是 Servlet API 3.1(例如 Tomcat 8),您可以使用getContentLengthLong()方法。

于 2016-01-12T14:56:07.733 回答