2

FileReferenceオブジェクトのloadメソッドを使用してデータをロードし、それを使用して選択した画像のサムネイルを表示しようとしています。

ただし、を呼び出した後fr.load()fr.data残りnullます。

FlexSDK3.4とFlashPlayer10Debugを搭載したWindows7でFlexBuilder3.0.2を使用しています。fr.load()Eclipseの監視変数リストで評価すると、読み取りエラーが発生します"No such variable: load."

なぜこれが起こっているのか誰もが知っていますか?

4

5 に答える 5

2

が完了するのを待っていますload()か?読み込みが完了するのをリッスンするEventListenerを追加してみてください。

FileReferenceドキュメント

fr.addEventListener(Event.COMPLETE, function(e:Event):void {
                                        handleLoad(e);
                                    });

作成したhandleLoad関数は、次の方法でデータを取得できます。e.target.data

于 2009-11-11T02:05:37.367 に答える
1

編集:これはFP9にのみ適用されます。


適切なクラスを使用していますか?loadメソッドまたはdataプロパティFileReferenceはありません。私はあなたがクラスを参照していると思います-それは両方を持っています、そしてそれはあなたがデータをロードするために使うべきものです。FileReferenceクラスは、サーバーからユーザーのマシン(SWFではなく)にファイルをダウンロードし、ユーザーのマシンからサーバーにファイルをアップロードするためのものです。URLLoader

URLLoaderクラスを使用してデータをSWFにロードし、 Loaderクラスを使用して他のSWFとイメージをSWFにロードします。Loaderクラスには、ロードされたコンテンツを保持するcontentプロパティに類似したdataプロパティがあります。URLLoaderこれらのクラスの両方のload()メソッドは非同期であるため(ロードが完了するのを待たずに戻ります)、したがって、@ dustmachineが指摘したように、が起動された後にのみ、ロードされたデータ/コンテンツにアクセスできますEvent.COMPLETE

var urlLoader:URLLoader = new URLLoader();
urlLoader.addEventListener(Event.COMPLETE, onLoad);
urlLoader.load(new URLRequest(theURL));

private function onLoad(e:Event):void
{
  var urlLoader:URLLoader = URLLoader(e.target);
  trace(urlLoader.data);
}
于 2009-11-11T04:53:39.613 に答える
1

FileReferenceクラスとload()関数でも同じ問題が発生しました。問題は次のように解決できます。

  1. [フレックスビルドパス]タブを開きます。
  2. 「Flex3」を展開し、「playerglobal.swc」を選択して「削除」をクリックします。
  3. 「Flex3-」のディレクトリパスに注意してください(私のシステムでは、/ Applications / Adob​​e Flex Builder3プラグイン/sdks/3.2.0です)。
  4. [SWCの追加]をクリックしてそのパスに移動し、frameworks / libs / player / 10の詳細を選択して、playerglobal.swcを選択します。
  5. 「playerglobal.swc」を展開し、「リンクタイプ」をダブルクリックして「外部」に変更します。
  6. 「FlexCompiler」タブを開きます
  7. 「HTMLラッパー」で、「FlashPlayerのバージョンが必要」を10.0.0に変更します。
于 2010-04-09T14:51:37.183 に答える
0

fileReferenceに何かを渡しましたか。

例:データグリッドから

var listFiles:DataGrid = new DataGrid();
var _refUploadFile:FileReference = new FileReference();                 
_refUploadFile = listFiles.selectedItem.file;   

_refUploadFile.load();
于 2009-11-11T02:02:42.427 に答える
0

最初に次のことを行う必要があります。

fileReference.cancel();
于 2013-12-10T09:11:18.667 に答える