BLOG main image
Category (342)
MySpace (89)
Astronomy (50)
Development (178)
Drum (25)
linux에서 subversion설정
누리에 없을 자그마한 자국
살라딘의 생각
saladin's me2DAY
3D Avata - BuddyPoke
기찬 개발이야기
[FLEX] ANT로 ASDOC 사용하기
THLIFE.net
Flash10 대응 Textcube 1.7.5.1..
텍스트큐브 공지사항
«   2008년 11월   »
            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            
325654 Visitors up to today!
Today 154 hit, Yesterday 963 hit
/Development/Flex/AIR 관련글 보기 2008년 05월 03일 00시 14분
Flex(AIR, Flash 포함)로 내 컴퓨터에 있는 파일을 서버에 전송하기 위해 FileReference나 FileReferenceList를 사용한다.
browse()함수를 이용해 파일을 선택하고
선택한 파일을 전송하기 위해 upload() 함수를 이용해 전송하면 끝이다.

그런데 문제는 전송하고 나서 서버측에서 어떤 데이타를 보내줄 때 받을 수 없다는 것이였다.

PHP를 예로 들자면
<?
 여기에 이미지 저장 코드가 들어감  

 echo "저장완료했어요";
?>


Flex에서 이 PHP에 FileReference를 이용해 저장한다음 echo문으로 "저장완료했어요"를 받고 싶다.
하지만 Flash Player 9.0.28.0 이전에는 받을 수 없었다.

이거 생각보다 골치 아픈 문제이다.

난, 이 때문에 무지 삽질했다.
방법이 없는 줄 알았다.
http://kimkijeung.com/54  에서도 FileReference는 반쪽짜리 업로드 클래스라고 설명하고 있다.

하지만 지금은 다르다.
Flash Player 9.0.28.0 부터는 새롭게 추가된 flash.events.DataEvent.UPLOAD_COMPLETE_DATA 이벤트를 이용하면 쉽게 서버에서 전송한 데이타를 읽어올 수 있다.


가령, 이런식으로 하면 된다.

var fr:FileReference =  new FileReference();

.

.

 

fr.addEventListener( flash.events.DataEvent.UPLOAD_COMPLETE_DATA, uploadCompleteDataHandler );

.

.

.

function uploadCompleteDataHandler(event:DataEvent):void

{

    trace(event.data); //저장완료했어요

}

이 이벤트는 flash.events.Event.COMPLETE 이후에 호출된다.
Complete는 FileReference의 인스턴스를 참조하기 위해 사용하며 서버측에서 전송해주는 데이타는 받을 수 없다. 그러므로 서버측에서 받아야할 데이타가 있을때 Complete 대신 UploadCompleteData 이벤트를 사용하면 되겠다.

이미 알고 있는 분도 있겠지만.... 삽질 방지용 Tip 이다.

참고내용
http://livedocs.adobe.com/flash/9.0_kr/ ··· letedata

글쓴이 : 지돌스타(http://blog.jidolstar.com/324)
이 글의 관련글
Trackback Address :: http://blog.jidolstar.com/trackback/324
헐구리 | 2008년 05월 03일 01시 28분 | PERMALINK | EDIT/DEL | REPLY
팁 감사합니다^^ 그런데 Flash Player 9.0.28.0 이전 버젼을 쓰는 분들에게는 좀 문제의 소지가 있을수 있겠네요.
BlogIcon 지돌스타 | 2008년 05월 04일 12시 32분 | PERMALINK | EDIT/DEL
자동으로 업그레이드 해주면 문제가 없을 것 같아요. ^^
BlogIcon ahnsw | 2008년 05월 04일 11시 35분 | PERMALINK | EDIT/DEL | REPLY
유용한 팁 감사합니다. 근데 본문에 제글이 원본인것 처럼 설명하셔서 깜짝놀랐습니다. 그 글은 제가 작성한게 아닙니다. 원본은 김기정님이 쓰신http://kimkijeung.com/54 에서 확인 하실 수 있습니다.
BlogIcon 지돌스타 | 2008년 05월 04일 12시 32분 | PERMALINK | EDIT/DEL
아~ 그랬군요.
ㅋㅋㅋ
글을 수정했습니다.
BlogIcon 김기정 | 2008년 05월 06일 21시 27분 | PERMALINK | EDIT/DEL | REPLY
좋은 정보 감사합니다.^^
BlogIcon 검쉰 | 2008년 05월 07일 15시 32분 | PERMALINK | EDIT/DEL | REPLY
좋은 팁이네요 ;)
Name
Password
Homepage
Secret