air.desktopURLFilePromise URLFilePromise クラスを使用すると、特定の URL でリソースにアクセスし、そのリソースをファイルプロミスとして AIR アプリケーションからドラッグできます。flash.desktop:IFilePromiseflash.events:EventDispatcher URLFilePromise クラスを使用すると、特定の URL でリソースにアクセスし、そのリソースをファイルプロミスとして AIR アプリケーションからドラッグできます。

URLFilePromise クラスは、IFilePromise インターフェイスを実装し、URLStream オブジェクトおよび URLRequest オブジェクトをデータソースとして使用します。この実装により、HTTP や URLStream クラスでサポートしている他のプロトコルを使用して、ファイルをドラッグ&ドロップで取得できるようになります。

URL ファイルプロミスを作成するには:

  1. URLFilePromise オブジェクトを 1 つ以上作成して初期化します。
  2. URLFilePromise オブジェクトを配列に追加します。
  3. ClipboardFormat の FILE_PROMISE_LIST を使用して、この配列を新しい Clipboard オブジェクトに追加します。
  4. ユーザーのジェスチャに応答して、NativeDragManager の startDrag() メソッドを呼び出し、ファイルプロミスの配列が含まれている Clipboard オブジェクトに渡します。

ユーザーがドラッグ操作を完了すると、ランタイムによって各ファイルプロミスのデータがダウンロードされます。データは、URLFilePromise オブジェクトの request プロパティで指定された URL でアクセスでき、relativePath プロパティで指定されたファイルに保存されます。ファイルは、ドロップ位置の相対位置に保存されます。したがって、相対パスが foo/bar.txt で、ファイルプロミスが home という名前のディレクトリにある場合、作成されたファイルの位置は home¥foo¥bar.txt になります。エラーが発生した場合、ファイルは作成されません。

URLStream クラスではアクセスできないデータソースに対応するには、IFilePromise インターフェイスを実装します。

注意:AIR ランタイムでは、IFilePromise メソッド、open()close() および reportError() メソッドを自動的に呼び出します。これらのメソッドは、アプリケーションロジックから呼び出されることはありません。同様に、この URLFilePromise オブジェクトが送出する openprogresscomplete および close イベントは、主にデバッグを目的としています。アプリケーションがこれらのイベントに応答する必要はありません。

このクラスは、aircore.swc ファイルに含まれます。Adobe® AIR® のプロジェクトを作成すると、Adobe® Flash® Builder によって、このクラスが自動的にロードされます。この aircore.swc ファイルは Adobe® Flex SDK にも含まれています。アプリケーションをコンパイルするときに Flex SDK を使用している場合は、このファイルを含める必要があります。

Adobe® Flash® Professional(CS4 またはそれ以降)で air.desktop パッケージを使用するには:

  1. ファイル/パブリッシュ設定コマンドを選択します。
  2. Flash パネルで、ActionScript 3.0 の「設定」ボタンをクリックします。「ライブラリパス」を選択します。
  3. 「SWC ファイルを参照」ボタンをクリックします。Adobe Flash Professional インストールフォルダーで Adobe Flash CSn/AIKn.n/frameworks/libs/air/aircore.swc ファイルを参照します。
  4. 「OK」をクリックします。
  5. import ステートメントの import air.desktop.~~; を ActionScript 3.0 コードに追加します。
IFilePromise インターフェイスClipboard クラスClipboardFormats クラスNativeDragManager クラスURLStream クラスURLRequest クラスsecurityError セキュリティエラーが原因でファイルをダウンロードできない場合に送出されます。flash.events.SecurityErrorEvent.SECURITY_ERRORflash.events.SecurityErrorEvent セキュリティエラーが原因でファイルをダウンロードできない場合に送出されます。 httpStatus このイベントが送出されると、HTTP 要求は要求の状態コードを報告します。flash.events.HTTPStatusEvent.HTTP_STATUSflash.events.HTTPStatusEvent このイベントが送出されると、HTTP 要求は要求の状態コードを報告します。 httpResponseStatus このイベントが送出されると、HTTP 要求は応答ヘッダーを報告します。flash.events.HTTPStatusEvent.HTTP_RESPONSE_STATUSflash.events.HTTPStatusEvent このイベントが送出されると、HTTP 要求は応答ヘッダーを報告します。 ioError IOError が原因でファイルをダウンロードできない場合に送出されます。flash.events.IOErrorEvent.IO_ERRORflash.events.IOErrorEvent IOError が原因でファイルをダウンロードできない場合に送出されます。 progress 基になる URLStream からデータブロックを読み取れるようになると送出されます。flash.events.ProgressEvent.PROGRESSflash.events.ProgressEvent 基になる URLStream からデータブロックを読み取れるようになると送出されます。

注意:AIR ランタイムは、このイベントを使用して、非同期のデータ取得プロセスを管理します。通常、アプリケーションがこのイベントに応答して何らかの操作を実行する必要はありません。

complete ファイルのデータが完全にダウンロードされたときに送出されます。flash.events.Event.COMPLETEflash.events.Event ファイルのデータが完全にダウンロードされたときに送出されます。

注意:AIR ランタイムは、このイベントを使用して、非同期のデータ取得プロセスを管理します。通常、アプリケーションがこのイベントに応答して何らかの操作を実行する必要はありません。

open 基になる URLStream 接続が開かれたときに送出されます。flash.events.Event.OPENflash.events.Event 基になる URLStream 接続が開かれたときに送出されます。

注意:AIR ランタイムは、このイベントを使用して、非同期のデータ取得プロセスを管理します。通常、アプリケーションがこのイベントに応答して何らかの操作を実行する必要はありません。

URLFilePromise URLFilePromise オブジェクトを作成します。 URLFilePromise オブジェクトを作成します。

この URLFilePromise オブジェクトを使用する前に、request プロパティおよび relativePath プロパティを設定する必要があります。

close このメソッドを使用すると、ドラッグ&ドロップ操作時に、AIR ランタイムが適切なタイミングでデータソースを閉じることができます。 このメソッドを使用すると、ドラッグ&ドロップ操作時に、AIR ランタイムが適切なタイミングでデータソースを閉じることができます。

アプリケーションロジックではこの関数を呼び出さないようにしてください。

open このメソッドを使用すると、ドラッグ&ドロップ操作時に、AIR ランタイムが適切なタイミングでデータソースを開くことができます。flash.utils:IDataInput このメソッドを使用すると、ドラッグ&ドロップ操作時に、AIR ランタイムが適切なタイミングでデータソースを開くことができます。

アプリケーションロジックではこの関数を呼び出さないようにしてください。

reportError このメソッドを使用すると、AIR ランタイムは、ドラッグ&ドロップ操作時に発生したエラーを報告できます。eflash.events:ErrorEvent このメソッドを使用すると、AIR ランタイムは、ドラッグ&ドロップ操作時に発生したエラーを報告できます。

URLFilePromise オブジェクトは、報告されたエラーイベントをすべて再送出します。アプリケーションロジックではこの関数を呼び出さないようにしてください。

isAsync リソースデータを非同期的に使用できるかどうかを示します。Boolean リソースデータを非同期的に使用できるかどうかを示します。

URLFilePrmise オブジェクトの isAsync プロパティは、URL ストリームが本質的に非同期なので、常に true です。

relativePath 作成されたファイルのパス名とファイル名は、ドロップ先を基準とする相対パスで指定されます。String 作成されたファイルのパス名とファイル名は、ドロップ先を基準とする相対パスで指定されます。

パスにはサブディレクトリを含めることができ、このサブディレクトリは、ドロップ先に基づいて解決されます。サブディレクトリは必要に応じて作成されます。サブディレクトリを含める場合は、File.separator 定数を使用して、現在のオペレーティングシステムに対応した適切なパス区切り文字を挿入してください。短縮形「..」を使用して、親ディレクトリへは移動できません。

ファイル名は、リモートリソースのファイル名と同じである必要はありません。

request ドラッグ&ドロップ操作の結果としてコピーされるリソースを識別する URLRequest です。flash.net:URLRequest ドラッグ&ドロップ操作の結果としてコピーされるリソースを識別する URLRequest です。