使用org.apache.commons.fileupload上传附件  在本地及客户那边测试都没有问题
但客户实际开始使用时 时常会出现如下错误:
org.apache.commons.fileupload.FileUploadBase$IOFileUploadException: Processing of multipart/form-data request failed. Connection reset1、form中已经加入 enctype="multipart/form-data"
2、并不是每次附件都上传不成功
3、客户那边是用的双服务器,之间加的有ip映射  不知道会不会跟这个有关找了好久没有找到问题所在  希望大家帮忙分析下 谢谢

解决方案 »

  1.   

    是这样的  有两台服务器1和2   1是主服务器
    对外的访问ip既不是1的ip  也不是2的ip  应该是在硬件上做的ip映射(这个是硬件工程师做的  不太懂)我单独访问1和2的ip地址都是可以上传附件的
    从日志中没有发现有找不到路径的情况额会不会跟代码有关呢?
      

  2.   

    对外的访问ip既不是1的ip  也不是2的ip  应该是在硬件上做的ip映射(这个是硬件工程师做的  不太懂)?
    感觉你这个东西对外是一个ip,但是1,2有不同的ip,可以看着,1,2是集群关系,当1,处理文件上传过程中繁忙,转发个2,处理,2这是没有找到响应的文件夹,所以报错,纯属猜测,你把全部异常贴出来,再具体描述下,1,2的网络关系
      

  3.   

    org.apache.commons.fileupload.FileUploadBase$IOFileUploadException: Processing of multipart/form-data request failed. Connection reset
    at org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:359)
    at org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:302)
    at iea.servlet.UploadServlet.doPost(UploadServlet.java:179)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at iea.servlet.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:43)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:875)
    at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
    at java.lang.Thread.run(Unknown Source)
    Caused by: java.net.SocketException: Connection reset
    at java.net.SocketInputStream.read(Unknown Source)
    at org.apache.coyote.http11.InternalInputBuffer.fill(InternalInputBuffer.java:777)
    at org.apache.coyote.http11.InternalInputBuffer$InputStreamInputBuffer.doRead(InternalInputBuffer.java:807)
    at org.apache.coyote.http11.filters.IdentityInputFilter.doRead(IdentityInputFilter.java:116)
    at org.apache.coyote.http11.InternalInputBuffer.doRead(InternalInputBuffer.java:742)
    at org.apache.coyote.Request.doRead(Request.java:419)
    at org.apache.catalina.connector.InputBuffer.realReadBytes(InputBuffer.java:270)
    at org.apache.tomcat.util.buf.ByteChunk.substract(ByteChunk.java:403)
    at org.apache.catalina.connector.InputBuffer.read(InputBuffer.java:293)
    at org.apache.catalina.connector.CoyoteInputStream.read(CoyoteInputStream.java:193)
    at org.apache.commons.fileupload.MultipartStream$ItemInputStream.makeAvailable(MultipartStream.java:959)
    at org.apache.commons.fileupload.MultipartStream$ItemInputStream.read(MultipartStream.java:887)
    at java.io.InputStream.read(Unknown Source)
    at org.apache.commons.fileupload.util.Streams.copy(Streams.java:94)
    at org.apache.commons.fileupload.util.Streams.copy(Streams.java:64)
    at org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:354)
    ... 21 more这个是所有异常
    1和2都是同一网段内的服务器  1是主服务器  存放上传文件的文件夹在1上面  设置为共享文件的
    2服务器的上传路径直接指向的就是1上面的共享文件夹
      

  4.   

    java的不会, 路过,来看11的. 
     ps #6 的图像真不错,!!!!