0

Flex アプリに次のコードがあります。

        protected function btn_select_image_clickHandler(event:MouseEvent):void {
            fileRef.addEventListener(Event.SELECT, Image_Select);
            fileRef.addEventListener(Event.COMPLETE, completeHandler);
            fileRef.browse(UploadFilter);
        }
        private function Image_Select(e:Event) : void {

            var fileSize:Number = Math.round( fileRef.size / 1024 );

            if ( fileSize <= 500 ) {

                var request:URLRequest  = new URLRequest( "http://gestor.domain.com/upload_image.php" );
                try {
                    fileRef.upload( request );
                } catch(error:Error) {
                    Alert.show( "Error loading image.", "Error" );
                }

            } else {
                Alert.show( "Image higher than 500Kb.", "Warning" );
            }
        }

        private function completeHandler(e:Event) : void {

            var file:FileReference = FileReference( e.target );
            Alert.show( "Data returned: "+file.data);
            if ( file.data != null ) {
                _filerefUploadMode = false;
                fileRef.load();
            }

        }

php ファイルは、compleHandler トリガー時に表示される文字列のみをエコーし​​ます。

実際のところ、file.data はnullしか返さず、何が起こっているのかわかりません。

私が行方不明ですか?

4

1 に答える 1

0

最初にこのインポートを追加します:

import flash.events.DataEvent;

次に、このリスナーを追加します。

fileRef.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA, uploadCompleteHandler);

次に、次のようなハンドラーを使用します。

private function uploadCompleteHandler(e:DataEvent) : void 
{
    trace (e.data);
}
于 2013-08-25T20:34:25.090 に答える