MultipartRequest는 다운로드시 2기가 가 넘으면 int 범위때문에 에러가 발생한다.

이러한 부분은 보완하기 위해서 다운로드할시 stream으로 쭉쭉 받으면 되겠다.

apache 에서  stream 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
       
...
   
}
}

라는 예제를 제시하고 있다.

else 부분이 정상적인 파일이 존재 할시이다.


else 부분에 이벤트를.

String path = 저장경로; FileOutputStream fop = new FileOutputStream(new File(저장경로)); Streams.copy(stream, fop, true);


streams.copy를 사용하면 해당 경로에 파일이 쭉쭉~~ stream 방식으로 저장이 되겠다.


블로그 이미지

김진리

,