2016-10-06 3 views
0

동료의 프로그램을 취소합니다.업로드 된 파일의 최대 크기를 변경하는 방법 Java Post

protected String uploadFile(File inputFile, String uuidFile) throws IOException, 
     ClientProtocolException { 
    HttpPost post = new HttpPost(new StringBuilder() 
      .append("http://xxxxxxxxxxxxx/FileServlet/").append("/uploadFile") 
      .toString()); 
    post.addHeader("UuidFile", uuidFile); 

    MultipartEntityBuilder builder = MultipartEntityBuilder.create(); 
    builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE); 
    builder.addPart("file", new FileBody(inputFile)); 
    HttpEntity httpEntity = builder.build(); 

    post.setEntity(httpEntity); 

    CloseableHttpClient client = HttpClients.createDefault(); 
    HttpResponse response = null; 
    try { 
     response = client.execute(post); 

     if (response.getStatusLine().getStatusCode() == 200) { 
      Pattern p = Pattern.compile("File uploaded into (.*)</h2>"); 
      String messageErreur = IOUtils.toString(response.getEntity().getContent()); 
      System.out.println(messageErreur); 
      Matcher m = p.matcher(messageErreur); 
      if (m.find()) { 
       return m.group(1); 
      } 
     } else { 
      throw new RuntimeException(response.getStatusLine().getStatusCode() + ": " + new String(IOUtils.toByteArray(response.getEntity().getContent()))); 
     } 
     return null; 
    } finally { 
     client.close(); 
    } 
} 

콘솔에서 오류가 나는 보강하는 방법을 모른다 그러나

There was an error: the request was rejected because its size (68142301) exceeds the configured maximum (52428800)

입니다 :

그는 방법은 (이 프로그램은 서버에 파일을 업로드 할 수 있습니다) 않았다 업로드 된 파일의 최대 크기 ...

아이디어가 있으십니까?

덕분에, 아르노

+0

을 변경하는

ServletFileUpload upload = new ServletFileUpload(factory); // sets maximum size of upload file upload.setFileSizeMax(MAX_FILE_SIZE); // sets maximum size of request (include file + form data) upload.setSizeMax(MAX_REQUEST_SIZE); 

있었다 봉사, 타 동료가 준? – rmlan

+0

서버가 DEV 서버입니다. 나는 uploadFile 사이드 서버의 프로그램을 가지고 있지 않다. 그러나, 나는 Tomcat/webapp에서 서버 전쟁과 연관된 레퍼토리 (WEB-INF, META-INF 포함)를 볼 수 있습니다. 레퍼토리 WEB-INF에서 web.xml을 변경했습니다. 제안을 추가하면 작동하지 않습니다 ... 서버의 레퍼토리에있는 web.xml에 "multipart-config"가 없습니다. – ArnaudTheDevelopper

답변

1

는 현재로서는 오류를 해결 서블릿에서 아래 구성을 위해 당신의 web.xml을 확인합니다. 크기를 늘리고 확인하십시오.

<multipart-config> 
    <max-file-size>68142301</max-file-size> 
    <max-request-size>68142301</max-request-size> 
    <file-size-threshold>0</file-size-threshold> 
    </multipart-config> 
관련 문제