2008-08-07 8 views
11

私は、サーバーからビデオやドキュメントをダウンロードするAIRアプリケーションを作成しました。ビデオはアプリケーション内で再生されますが、ユーザーはネイティブアプリケーションでドキュメントを開くことができます。AIR/Flexでローカルファイルを開く

私は、アプリケーションストレージディレクトリに格納されているローカルファイルに対して[開く/別名で保存]をユーザーに求める方法を探しています。私はFileReference + URLRequestクラスを使用しようとしましたが、これはリモートURLが必要であるという例外をスローします。

私の最後の手段は、単に自分のデスクトップにファイルをコピーしている:

答えて

2

\私はちょうどファイルを移動し、ユーザーを告げずにそれを行う方法を見つけ出すことができる唯一の方法は、ブラウザにそれを渡すことでした。

navigateToURL(new URLRequest(File.applicationStorageDirectory.nativePath + "/courses/" + fileName)); 
0

現在のところ、デフォルトアプリケーションではオープニングファイルがサポートされていません。ブラウザにそれを渡すことは、それを動作させる唯一の方法だと思われます。

ただし、FileStreamを使用して、iframeの位置をファイルに設定した小さなhtmlファイルを書き込んだり、100ms後にwindow.close()を呼び出すことができます。その後、そのファイルをブラウザで開きます。

2

これはFluorineFx Apertureフレームワークの最初のリリースです。

このフレームワークは、AIRデスクトップアプリケーションのネイティブOS統合(Windowsのみ)をサポートします。

フレームワークは、非侵入的な方法でAdobe AIRアプリケーションを拡張します。AIRアプリケーションで提供されたライブラリを再配布するだけです。実行時にフレームワークは自動的にアプリケーションにフックします。提供apsystemライブラリと

  • 起動ネイティブアプリケーションや書類
  • が提供apimagingライブラリを提供してAIRアプリケーションから
  • アクセスOutlookの連絡先を画面全体のスクリーンショットを撮る

    特長apoutlookライブラリ

http://aperture.fluorinefx.com/

12
(私はそれがAIR 2でのみ利用可能だと信じて)あなたはFileクラスで利用できる新しい openWithDefaultApplication();機能を使用することができます

例えば:私にとって

var file:File = File.desktopDirectory.resolvePath(fileLocation); 
file.openWithDefaultApplication(); 
0

それはです:

var request:URLRequest = new URLRequest(); 
request.url = file.url; 
navigateToURL(request, "_blank"); 

navigateToURL(file.nativePath)のパスは "/ users/mydirectory/..."のパスがapplication sandboxの外にあるために機能しませんでした。 AIRでは、一部のプロトコルをnavigateToURL()で開くことができます。

関連する問題