2009. 12. 10. 01:30 java

파일 업로더

회사 솔류션에 파일 업로딩에 버거가 있다고 한다.
제우스 문제인지... 로딩상의 문제인지.. 아직 파악이 안된다고 한다.
혹시나 도움이 될까 해서 올려놔 본다.

commons-io-xxx.jar
commons-fileupload-xxx.jar

1 FileUtils의 copyFile()메소드를 이용
2 FileInputStream, FileOutputStream 사용
이 두가지의 차이점을 잘 모르겠음.... 나중에 시간나면 확인해 봐야 겠다.

경로는 "\\" 두개를 사용함을 명심하자.

private void makeBasePath(String path) {
    File dir = new File(path);
    if(!dir.exists()) dir.makes();
}

public String upload(File file, String basePath, String fileName) throws Exception {
    File copyFile;
    생략
     
     유효성 검사   
     if( file == null || file.getNmae().equals("") ) return null; 
     디렉토리 생성
     makeBasePath(basePath);
     2번 방식 사용해서 파일 카피
   }

2
public String upload() throws Exception() {
    1번 방식
    File destFile = new File("D:\\upload\\" + "test.txt");
    FileUtils.copyFile(copyFile, destFile);

    2번 방식
    FileInputStream inputStream = new FileInputStream(copyFile);
    FileOutputStream outputStream = new OutputStream(출력할 파일 경로 + 이름);
    int bytesRead = 0;
    byte[] buffer = new byte[1024];
    while((bytesRead = inputStream.read(buffer,0,1024))!=-1) }
        outputStream.write(buffer, 0, bytesRead);
    }
    outputStream.close();
    inputStream.close();

    } catch(IOException ioe) {
        if(outputStream != null) {
            try {
                outputStream.close();
            } catch(Exception e) {}
            try {
                inputStream.close();
            } catch(Exception e) {}
        }
        System.out.println(ioe....);  // 에러 로그 출력
    }


}

아파치 400번대 에러가 난다고 하는데... 찾기 귀찮아서.. 메모해 둔다.
http://adelward.tistory.com/140

code : 400
reason field : Bad Request
의미 : request메시지의 syntax(체계, 배열)가 잘못되어서 서버가 request를 처리할 수 없다. 재접속을 하는 경우에 클라이언트는 반드시 올바른 request메시지를 사용해야 한다.
                 
code : 401
reason field : Unauthorized
의미 : request가 user quthentication을 필요로 한다는 것을 클라이언트에게 알려주기 위해서 사용된다. WWW-Authenticate(인증하다, 증명하다)헤더를 통해서 요청된 자원에 적용되는 challenge를 전달한다. 401 response를 받은 클라이언트는 적절한 Authorization credentials(위임장)를 포함하는 Authorization헤더와 함께 다시 request메시지를 전송한다. request메시지에 그와 같은 Authorization credentials이 포함된 경우에 401 status code가 전달되면 user authentication이 실패한 것을 나타낸다.
                
code : 403
reason field : Forbidden
의미 : 서버가 request의 처리를 거절하는 것을 나타낸다. 이와 같은 응답을 받은 경우에는

동일한 request를 반복하지 말아야 한다. 왜냐하면 무조건 request가 거절되는 것이기 때문이다. 403 status code는 request를 거절하는 이유를 명시적으로 밝히고 싶지 않거나 적절한 status code가 없을때 사용된다.
                 
code : 404
reason field : Not Found

의미 : Request-URI에 해당하는 자원을 찾을 수 없을 경우에 사용된다.

그런 상태가 일시적인 것인지 아니면 언제나 그렇게 되는지를 나타내는 어떤 정보도 전달되지 않는다. 이런 상태를 클라이언트에게 알리고 싶지 않은 경우에는 403 code를 대신 사용해도 된다.

'java' 카테고리의 다른 글

톰캣, 자바 메모리 관련  (0) 2010.02.03
파일 다운 로드 관련  (0) 2010.02.03
URL 컨텐츠 얻어 오는 소스 테스트  (0) 2009.12.22
힙 사이즈 구하기  (0) 2009.12.04
jdk 설치 윈도우, 리눅스  (0) 2009.11.28
Posted by gt1000

블로그 이미지
gt1000

태그목록

공지사항

어제
오늘

달력

 « |  » 2024.4
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

글 보관함