ファイルプロミスはドラッグ&ドロップクリップボード形式です。これにより、ユーザーは、まだ存在しないファイルを AIR アプリケーションからドラッグできます。例えば、ファイルプロミスを使用すると、アプリケーションでプロキシアイコンをデスクトップフォルダーにドラッグできます。プロキシアイコンは、ある URL に存在することがわかっているファイルまたはデータを表します。アイコンをドロップすると、ランタイムによってデータがダウンロードされ、ドロップ位置にファイルが書き込まれます。
AIR アプリケーションの URLFilePromise クラスを使用すると、ある URL でアクセス可能なファイルをドラッグ&ドロップできます。URLFilePromise 実装は、AIR 2 SDK の一部として aircore ライブラリで提供されています。SDK frameworks/libs/air ディレクトリにある aircore.swc ファイルまたは aircore.swf ファイルのどちらかを使用してください。
または、ランタイム flash.desktop パッケージに定義されている IFilePromise インターフェイスを使用して、独自のファイルプロミスロジックを実装することもできます。
概念上、ファイルプロミスは、クリップボード上のデータハンドラー関数を使用した遅延レンダリングに似ています。ファイルをドラッグ&ドロップするときは、遅延レンダリングの代わりにファイルプロミスを使用します。遅延レンダリングテクニックを使用すると、データが生成またはダウンロードされるときに、ドラッグ操作が一時停止する場合があり、望ましくありません。遅延レンダリングは、ファイルプロミスがサポートされていないコピー&ペースト操作に使用してください。
ファイルプロミス使用時の制限
ドラッグ&ドロップクリップボードに配置できる他のデータ形式と比較して、ファイルプロミスには次の制限があります。
-
ファイルプロミスは AIR アプリケーションからドラッグするのみで、AIR アプリケーションにドロップすることはできません。
-
ファイルプロミスは、すべてのオペレーティングシステムでサポートされているわけではありません。
Clipboard.supportsFilePromise
プロパティを使用して、ホストシステムでファイルプロミスがサポートされているかどうかをテストしてください。ファイルプロミスがサポートされていないシステムでは、ファイルデータをダウンロードまたは生成するための代替のメカニズムを提供する必要があります。
-
ファイルプロミスは、コピー&ペーストクリップボード(
Clipboard.generalClipboard
)では使用できません。
|
|
|