본문 바로가기

Programming/JAVA

[JAVA]FileUpload Streaming API


http://commons.apache.org/fileupload/streaming.html

HTTP Post 방식의 multipart/form-data로 넘어오는 파일 및 텍스트 객체를 스트림형식으로 받아서 처리하기 위한 API로 임시 디렉토리에 저장해놓고 사용하는 방식과 직접 스트리밍으로 처리하는 방식이 존재한다.

위의 링크는 스트리밍 API에 대한 예제를 보여주는 것이고, 실제 User Guide를 보면 임시 디렉토리에 저장해놓고 사용하는 예제도 볼 수 있다.

다음은 API를 사용하는 예제로 후일 필요 시, 보고 참고해야겠다. 나머지 정리는 나중에....
// Create a new file upload handler
ServletFileUpload upload = new ServletFileUpload();

// Parse the request
FileItemIterator iter = upload.getItemIterator(request);
while (iter.hasNext()) {
    FileItemStream item = iter.next();
    String name = item.getFieldName();
    InputStream stream = item.openStream();
    if (item.isFormField()) {
        System.out.println("Form field " + name + " with value "
            + Streams.asString(stream) + " detected.");
    } else {
        System.out.println("File field " + name + " with file name "
            + item.getName() + " detected.");
        // Process the input stream
        ...
    }
}