java - 无法解析多部分请求org.apache.commons.fileupload.FileUploadException : Processing of multipart/form-data request failed. null

标签 java file-upload jboss5.x struts-1

我知道类似的问题已经被问过,但不幸的是我找不到好的答案来找到这个问题的解决方案。当我尝试上传任何文件(仅接受 XML/CSV 格式)时,它在本地工作,但在服务器上不起作用。 我没有任何超时或读取超时错误。您可以在这里找到更多详细信息。

重要:在纠正 Hibernate Session 的错误后,我遇到了这个错误,事实上,我在日志文件中总是出现 Session Close 错误,所以我更改了代码,现在 session 将在完成任务后关闭,但我遇到了这个新错误仅在服务器中,不在本地!!

服务器日志:

    ERROR [org.apache.struts.upload.CommonsMultipartRequestHandler] (ajp-127.0.0.1-8009-6) Failed to parse multipart request
org.apache.commons.fileupload.FileUploadException: Processing of multipart/form-data request failed. null
    at org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:384)
    at org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:268)
    at org.apache.struts.upload.CommonsMultipartRequestHandler.handleRequest(CommonsMultipartRequestHandler.java:182)
    at org.apache.struts.util.RequestUtils.populate(RequestUtils.java:389)
    at org.apache.struts.chain.commands.servlet.PopulateActionForm.populate(PopulateActionForm.java:45)
    at org.apache.struts.chain.commands.AbstractPopulateActionForm.execute(AbstractPopulateActionForm.java:57)
    at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:48)
    at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
    at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
    at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
    at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:280)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1858)

Server.xml 文件:

 <Service name="jboss.web">

  <!-- A HTTP/1.1 Connector on port 8080 -->
  <Connector protocol="HTTP/1.1" port="8080" address="${jboss.bind.address}" 
           connectionTimeout="20000" redirectPort="8443" />

最佳答案

我假设您正在上传一个大文件,并且上传需要一些时间。

我建议将以下内容添加到Connector:

 <!-- A HTTP/1.1 Connector on port 8080 -->
  <Connector protocol="HTTP/1.1" port="8080" address="${jboss.bind.address}" 
           connectionTimeout="60000" redirectPort="8443" 
           connectionUploadTimeout="36000000" disableUploadTimeout="false" />

(请参阅此相关 SO Question )。

我希望这会有所帮助。

关于java - 无法解析多部分请求org.apache.commons.fileupload.FileUploadException : Processing of multipart/form-data request failed. null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25032644/

相关文章:

java - 从 shell 脚本停止 jboss 5.x

java - ejb 存档 jar 中的循环依赖无状态 bean 未部署在 JBoss 5.1.0 上

java - 第一次使用 Apache Commons,HashBag.uniqueSet() 返回错误的对象类型?

java - Html 多个具有相同名称的输入元素

java - 为什么 setVisibility() 在按下按钮后不使我的按钮和布局可见?

silverlight - 非常简单的 Silverlight 文件上传示例

javascript - 有没有办法在没有后端的情况下将本地镜像放入静态网站?

使用按钮回发而不是使用 POST 的 C# Webform 文件上传

java - Android 联系信息有意更新?

jboss - 如何从 JBOSS 4 和 5 连接 JMS 队列?