2010-06-25 5 views
1

Commons FileUpload를 사용할 때 parseRequest (요청) 메서드는 파일을 업로드하고 추가 게시 매개 변수를 읽습니다. 그래서 파일을 업로드 한 후에 만 ​​매개 변수 값을 얻을 수 있습니다. 문제는 파일을 업로드하기 전에 매개 변수 값이 필요하다는 것입니다 (매개 변수 중 하나가 upload_path 임).업로드하기 전에 게시 매개 변수 가져 오기

멀티 파트 콘텐츠에서 게시 매개 변수를 먼저 가져온 다음 올바른 폴더로 업로드를 시작할 수있는 방법이 있습니까?

(request.getParameter (name)은 다중 부분 콘텐츠의 경우 null을 반환합니다).

미리 감사드립니다.

답변

1

이것은 나를 위해 작동합니다. 첫 번째 단계에서는 모든 매개 변수를 확인한 후 다운로드하기 위해 비 형식 필드를 사용합니다.

ServletFileUpload upload = new ServletFileUpload(); 
FileItemIterator iter = upload.getItemIterator(request); 

while (iter.hasNext()) { 
    FileItemStream item = iter.next(); 
    String name = item.getFieldName(); 
    InputStream stream = item.openStream(); 

    if (item.isFormField()) { 
     byte[] buffer = new byte[ 128 ]; 
     int len = stream.read(buffer); 
     String value = new String(buffer, 0,len); 
     if (name.equals("name")) { 
      filename = value; 
     } 
     System.err.println("Form field " + name + " with value " + value + " detected."); 
     stream.close(); 
    } 
} 
관련 문제