0

Flex 4 では、単純な参照ボタンを作成して、TextInput オブジェクトのテキスト フィールドを、参照ボタンが取得するファイル名で更新しようとしています。フルパスである必要はありません。表示されるファイル名だけが必要です。初めてファイルを選択した後ではなく、もう一度参照ボタンを押した後にのみ表示されます。これが私のコードです:

import flash.net.FileReference;

        private var fileReferencer:FileReference = new FileReference();
        private var excelFilter:FileFilter = new FileFilter("*.xlsx", "*.xlsx;*.xls;");
        protected var fileName:String = new String("");

        protected function BrowseButton_clickHandler(event:MouseEvent):void
        {
            fileReferencer.browse([excelFilter]);
            fileName = fileReferencer.name;
            fileInputAddress.text = fileName;
        }

要約すると、ファイル名は、参照ボタンを 2 回押したときに TextInput ボックスにのみ表示されます。

私は何を間違っていますか?

4

1 に答える 1

1

Flash Player は完全に非同期です。そのため、 を呼び出した直後にファイル名を取得することはできませんfileReferencer.browse()。そのため、過去の電話から名前がついています。コードを修正するには、イベントをサブスクライブしselect、イベントの後にのみcancelテキストを変更する必要があります (ドキュメントを参照してください)。select

于 2011-06-20T14:40:20.123 に答える