Flex2やAS3でFileReferenceの戻り値を取る方法
Flex2を最近触っているのですが、ActionScript3のFileReferenceクラスのupload()メソッドで、ファイルをアップロードした後の戻り値が取れない現象に悩んでおりました。
そんな中、解決方法を示しているサイトを見つけたのでメモ&補足しておきます。
New event for AS3: FileReference uploadCompleteData
myFileReference.addEventListener("uploadCompleteData",callbackFunction); myFileReference.upload(new URLRequest(PATH_TO_YOUR_SCRIPT)) function callbackFunction(e:DataEvent):void{ trace(e.data); };
addEventListenerで"uploadCompleteData"イベントを取得するようにしておきます。
イベント取得時に実行されるファンクションには、DataEventが受け渡されます。e.dataで戻り値が受け取れますね。XMLなどの戻り値をパースして使えば、スムーズにインタラクティブなサービスが開発できます。
最新のflashplayerでないとだめみたいなので、アップデート&要求するようにソースを書き直しておきましょう。