아항항하잏이
77
2017-06-16 17:13:55
3
737

FileOutputStream 활용 파일업로드 관련 질문입니다!


 

 일단 현재 상황은 특정사용자가 대량의 이미지파일(대용량X)을 한번에 업로드할때

시스템로그상에 1초에 10~20줄씩 올라올정도로 처리되던 서버가 멈춰버리고 파일업로드만

실행되고있는상황입니다. 시스템 리소스를 다 차지하고있는상황처럼요. 서버가 뻗어버리고

그러진 않습니다.

 

 현재 파일 업로드 방식은 UI단에서 사용자가 이미지를 500장 선택후 업로드시

파일업로드 클래스파일을 읽어서 파일 갯수만큼의 바이너리값을 데이터셋에 물고와서

반복문으로 write 하고있습니다.

 

 한장 처리할때마다 out 객체 생성후 close 까지 해주며 반복되는상황인데

10~20장 처리에는 문제없으나 수백장일경우에만 생기는 문제를 어떤식으로 점검해보며

어떤 대응이 필요할지 여쭤봅니다.. ㅠ

 

 

0
  • 답변 3

  • 아항항하잏이
    77
    2017-06-16 17:15:06
     파일시스템은 따로 구현하기 힘든상황이며 현재 운영되고있는 서버내에 저장되고있습니다!

     

  • 아항항하잏이
    77
    2017-06-16 17:20:56

                     for(i=0; i<파일갯수; i++){

                        File f = new File(서버내 저장될경로, 파일명);

                        FileOutputStream out = new FileOutputStream(f);
                        byte[] _data = dsObj.getColumn(i, "FILE_CONTENT").getBinary();
                        out.write(_data);
                        out.close();

                      }

    코딩은 이렇습니다~ 

  • ansdbduf
    837
    2017-06-16 19:23:43 작성 2017-06-16 19:25:29 수정됨

    byte []로 받지 말구 inputstream을 받아 1024바이트정도씩읽어 outputstream에 쏘세요.  

  • 로그인을 하시면 답변 을 등록할 수 있습니다.