0

flex を使用してフォルダー内のファイル名を読み取る必要があります。しかし、コードでいくつかのエラーが発生しています。ファイルが定義されていません。次のコードは次のとおりです。

protected function myCBSelectedXMLs_changeHandler(event:IndexChangeEvent):void
                {

                try
                {
                    var fileName:String = new String();

                    if(myCBSelectedXMLs.selectedIndex == spark.components.ComboBox.CUSTOM_SELECTED_ITEM)
                        myCBSelectedXMLs.dataProvider.addItem(myCBSelectedXMLs.selectedItem);
                    Alert.show(myCBSelectedXMLs.selectedItem +" is selected", "Selection", Alert.OK);

                    var dir : File = File.desktopDirectory.resolvePath("MyFolder");
                    dir.getDirectoryListingAsync();
                    dir.addEventListener(FileListEvent.DIRECTORY_LISTING,onDirectoryListComplete);
                } 
                catch(error:Error) 
                {
                    Alert.show("error", "Selection", Alert.OK);

                }

            }
4

2 に答える 2

0

Fileflash.filesystem(およびパッケージ全体) は、AIR アプリでのみ使用できます。あなたはAIRアプリを作成しているとは言っていないので、そうではないと推測しています。これらのパッケージは、AIR 以外のアプリには存在せず、適切なファイルを見つけることができたとしても、AIR 以外のアプリでは使用できません。Web では、アドビは非常に厳格なセキュリティ手順を採用しており、開発者として、ユーザーがアクセスを開始しない限り、ファイル システムへのアクセスはまったくありません。

Adobe の LiveDocs for flash.filesystem(強調は私のもの) から:

flash.filesystem パッケージには、ファイルシステムへのアクセスに使用されるクラスが含まれています。このパッケージは、Adobe AIR で実行されているコンテンツでのみ使用できます

FileReferenceユーザーがロード/保存するファイルを選択できるようにするものを見ることができますが、それがそこでできることの範囲です。SharedObject保存/読み取りが必要なデータが小さい (<100kb) 場合は、を使用することも検討してください。

于 2013-08-19T18:56:32.693 に答える