2014-07-15 15 views
0

struts1.2form 파일과 apache.commons.fileupload 1.0을 사용하여 거대한 파일 크기 [5GB 이상]를 업로드하려고합니다. 나는 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 = "클래스"NOCACHE = "true"를 로케일 = "true"로 ContentType을 = "text/html과; 문자셋 = UTF-8"** MAXFILESIZE = " 15G "/ **

apache.commons.fileuploa-1.1을 사용하는 경우 FileUpload가 알 수없는 길이의 구문 분석 요청을 거부하는 제약이 있습니다. 다음 버전에서는 크기 문제를 해결하기 위해 스트림이 도입되었습니다. 아래의 문제는 apache.commons.fileupload 1.1.3 에보고되었습니다. 업로드 후 임시 파일이 제거되지 않습니다 2. memleak으로 연결되는 입력 스트림이 닫히지 않았습니다.

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

이 .... 희망이 도움이