2014-07-15 70 views
0

我想上傳一個巨大的文件大小[超過5 GB]使用struts1.2form文件和apache.commons.fileupload 1.0。我看到struts1中文件上傳的最大限制是256M。有什麼方法可以改變它嗎? 我收到以下異常。FileUploadBase UnknownSizeException當上傳一個巨大的文件

org.apache.commons.fileupload.FileUploadBase$UnknownSizeException: the request was rejected because its size is unknown 
     at org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:305) 
     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.action.RequestProcessor.process(RequestProcessor.java:191) 
     at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1858) 

     at javax.servlet.http.HttpServlet.service(HttpServlet.java:643) 
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:723) 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) 
     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 
     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 
     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) 
     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) 
     at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861) 
     at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606) 
     at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) 
     at java.lang.Thread.run(Thread.java:745) 

默認文件大小限制爲250MB。我已經增加到350MB。它工作正常。 之後,我已經增加到10G,並得到了以下例外。 是否有可能使用struts1.2上傳大文件?有沒有其他的方式來上傳大文件?

回答

0

配置支柱的最大限制 控制器 控制器processorClass = 「類」 非緩存= 「真正的」 區域= 「真」 的contentType = 「text/html的;字符集= UTF-8」 ** maxFileSize爲 =」 15G「/ **

當您使用apache.commons.fileuploa-1.1時,存在一個約束,即FileUpload拒絕未知長度的解析請求。在後續的版本流中已經引入了克服尺寸問題。 下面的問題報告在apache.commons.fileupload 1.2中1.2 & 1.3 1.上傳後,臨時文件不會被刪除 2.輸入流未關閉導致memleak。

REF:refuses parsing request of unknown lenght Memleak when stream is not closed. Memleak

希望它可以幫助....