'creationDate'에 해당되는 글 1건

  1. 2008.09.21 서버에 클라이언트 파일전송

클라이언트 PC에 있는 파일을 서버에 전송하는 방법은 두가지가 있다. 한개의 파일을 전송하는 것과 다량의 파일을 전송하는 방법이 있다. 한개의 파일을 전송하려면 FileReference()를 사용하고, 다량의 파일을 전송하고 싶으면 FileReferenceList() 클래스를 사용한다. 둘이 틀별한 차이점은 없고 FileReferenceList()는 FileReference()가 배열 형태로 포함되어 있다는 점만 다르다.

서버에 파일을 전송하기 위해 우선 유저는 파일을 검색하는 다이얼로그 창을 열어야 한다. 이는 각각에 browse()라는 메서드로 정의 되어있다. browse()가 호출되면 파일을 선택하는 다이얼로그 창이 팝업되고FileReference()는 파일이 한개만 선택되고 FileReferenceList()는 여러개의 파일을 선택할 수 있다. 물론 선택이 끝나면 Event.SELECT가 발생한다. 거의 브라우저에서 자동 차단되지만 다이얼로그창이 활성화 된상태에서 또 팝업하려고 시도 한다면 IllegalOperationError이라는 에러가 발생한다. 따라서 browse() 호출시 try catch로 에러를 방지해야 한다.

파일 선택 후 부터 FileReference()와 FileReferenceList()는 약간의 처리방식이 다르다.
FileReference()의 경우 파일이 한개 이므로 바로 upload()를 실행하면 된다.
하지만 FileReferenceList()는 FileReferenceList.fileList 안에 배열로 설정되어 있으므로 FileReferenceList.fileList의 길이 만큼 반복하면서 각각의 원소에 upload()를 실행해야 한다.

이러한 FileReference()와 FileReferenceList()에 의해서 불러온 사용자 파일의  BytesArray에 직접 접근못하는 것이 좀 아쉽지만 파일정보를 전혀 못 읽어오는 것은 아니다.

파일 레퍼런스에 불려진 파일의 정보를 읽는 파일레퍼런스의 속성은 다음과 같다.
creationDate : Date
로컬 디스크의 파일을 만든 날짜입니다. 
   
creator : String
파일의 Macintosh 작성자 유형입니다. 

modificationDate : Date
로컬 디스크 파일의 가장 최근 수정 날짜입니다.  
   
name : String
로컬 디스크에 있는 파일의 이름입니다.  
      
size : uint
로컬 디스크에 있는 파일의 크기(바이트)입니다. 
   
type : String
파일 유형입니다. 
Posted by 버터백통