Java 无法使用struts 2.0 frmework上载2gb大小的文件

Java 无法使用struts 2.0 frmework上载2gb大小的文件,java,tomcat,file-upload,struts2,multipart,Java,Tomcat,File Upload,Struts2,Multipart,现在天所有最新浏览器,支持2 gb大小限制的文件上传过程, 现在我们在应用程序中使用以下内容 Java、JSP、Struts 2.0框架,我们无法上载2gb大小的文件,因此我在net中进行了搜索,我能够在Struts.xml中找到Struts.multipart.maxSize属性配置,我已将此值设置为2gb大小,我还在tomcatserver.xml文件中设置了maxPostSizesize属性,用于随请求增加postdata大小 我们仍然无法从浏览器上传2gb大小的文件 请告诉我们,在Apa

现在天所有最新浏览器,支持2 gb大小限制的文件上传过程, 现在我们在应用程序中使用以下内容 Java、JSP、Struts 2.0框架,我们无法上载2gb大小的文件,因此我在net中进行了搜索,我能够在
Struts.xml
中找到
Struts.multipart.maxSize
属性配置,我已将此值设置为2gb大小,我还在tomcat
server.xml
文件中设置了
maxPostSize
size属性,用于随请求增加postdata大小

我们仍然无法从浏览器上传2gb大小的文件

请告诉我们,在Apache服务器、tomcat、struts或浏览器中是否有任何可用的设置,然后让我们知道这些设置

我们在文件上传操作中没有使用fileUpload拦截器

<action name="fileUpload" method="fileUpload" class="fileUploadAction">
<interceptor-ref name="check">
</interceptor-ref>
<result name="Errorjsp">tFrame.jsp</result>
<result name="insert">FileFrame.jsp</result>
</action>

tFrame.jsp
FileFrame.jsp
我们的java端操作具有平坦的上传逻辑,在服务器端代码中没有文件大小限制验证

我想知道为什么大文件没有上传

对于更多更新,我们发现在我们的环境中产生的问题是CDN网络。客户端通过浏览器请求将文件发送到cdn网络,然后cdn网络将这些文件发送到实际服务器

当我们请求超过2GB大小的文件时,问题仅发生在cdn网络上,因此与浏览器问题无关

当我们向cdn网络发送文件字节到数据块时,cdn网络不会出现问题,这意味着当我们使用一个java演示程序发送文件字节的数据块请求时。因此,从这个分析中,我们可以说,当我们以分块方式发送数据时,cdn网络工作正常

在我们的例子中,我们通过浏览器发送文件上传请求,所以我们不能发送分块请求,所以现在我的问题是,是否有任何技术或机制可以解决我们的问题,是否有任何js或请求机制可以通过浏览器发送分块字节请求?是否有其他技术可用于解决我们的问题


感谢并问候Yatin Baraiya

Struts2允许您上传高达2GB的文件,这是请求的最佳方式:

此设置默认为大约2 MB,并应调整为框架需要接收的最大文件大小(最多2 gigs)

要做到这一点,您需要同时设置:

  • 总体请求大小设置公共

  • 单个文件的最大大小设置FileUpload Interceptor参数,无论是本地操作还是软件包通用参数:

    
    2147483648
    
  • 2是您配置中缺少的部分:目前,您可以发送2GB的内容,但最大文件大小为2mb,例如1000个文件,每个文件最大2mb

    将上述设置应用于您的配置以使其正常工作,例如:

    
    2147483648
    good_result.jsp
    
    如果有问题,请尝试将其设置得更低一点,例如1.9GB。。。请求中还包含其他数据,可能他们使用了2000000000而不是实数…嗨,Andrea,感谢您的快速回复,我们在我们的案例中没有使用fileUpload的拦截器,那么在我的案例中会造成什么其他限制呢。请编辑或添加与上传文件方式相关的详细信息(以及最终的代码),最好的标题是。。。。“根据Andrea的请求进行更新”。:D@AleksandrM布哈哈:D@YatinBaraiya:您需要展示如何使用“平面逻辑”上传文件服务器端,因为问题可能就在那里。顺便说一句,你为什么不使用提供的Struts2机制上传文件呢|@AleksandrM您不再是第一个在问题中使用[AleksandrM]标记的人。。。我赢了。@AndreaLigios:这件事发生在我身上两次,所以我想说我们是平手