デスクトップ アプリを作成する際に、ファイルの保存が必要になることがあります。これには FileReference を使用していましたが、特定のファイル名で特定のディレクトリに自動的に保存するのではなく、ファイルを保存する場所を尋ねるダイアログが開きます。
FileStream を正常に動作させるのに問題があります。これを小さな例で再現しました
package {
import flash.display.*;
import flash.text.*;
import flash.events.*;
import flash.net.*;
import flash.utils.ByteArray;
import flash.filesystem.*;
public class example extends MovieClip
{
public function example()
{
stage.addEventListener(MouseEvent.CLICK, mouseclick);
}
public function mouseclick(event:Event):void
{
var file:File = File.documentsDirectory.resolvePath("myfile.txt");
var stream:FileStream = new FileStream();
stream.open(file, FileMode.WRITE);
stream.writeUTFBytes("text");
stream.close();
}
}
}
mouseclick イベントが必要になる可能性があります - とにかく FileReference でした。フレックス コンパイラ amxmlc でコンパイルしています。
amxmlc -static-link-runtine-shared-libraries example.as
スタンドアロンの実行可能ファイルを作成するだけでなく、フラッシュ プレーヤーから直接実行して、フラッシュ プレーヤーとブラウザーを介して実行してみました。Windows ドキュメント ディレクトリに新しいファイルが表示されません。これを変更するにはどうすればよいですか?