ユーザーが入力した文字列があり、それをユーザーのハードドライブ上のファイルに保存したいと思います。あなたはそれをすることができますか?もしそうなら、どのように?
4 に答える
はい、できます。FileReferenceを使用します。これは基本的にそれが行われる方法です:
var bytes:ByteArray = new ByteArray();
var fileRef:FileReference=new FileReference();
fileRef.save("fileContent", "fileName");
見た目は硬すぎませんか?そして、これもビデオチュートリアルです:
http://www.gotoandlearn.com/play?id=76
そしてドキュメント:
http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/
お役に立てば幸いです。
バイトをファイルに出力する関数があったので(ビットマップで何かを行っていたため)、次のようにそれを再利用して文字列も出力しました。
var filename:String = "/Users/me/path/to/file.txt"; var byteArray:ByteArray = new ByteArray(); byteArray.writeUTFBytes(someString); outFile(ファイル名、byteArray); プライベート静的関数outFile(fileName:String、data:ByteArray):void { var outFile:File = File.desktopDirectory; //destフォルダはデスクトップです outFile = outFile.resolvePath(fileName); //書き込むファイルの名前 var outStream:FileStream = new FileStream(); //出力ファイルストリームを書き込みモードで開きます outStream.open(outFile、FileMode.WRITE); //ファイルを書き出す outStream.writeBytes(data、0、data.length); //閉じます outStream.close(); }
さらに、FlexBuilder3にFlashPlayer10とFlexGumboSDKがインストールされている必要があります。
次の例もご覧ください。http: //blog.flexexamples.com/2008/08/25/saving-files-locally-using-the-filereference-classs-save-method-in-flash-player- 10/
Flex 3では、ファイルをサーバーにアップロードしてから、URLを介してデスクトップにファイルをダウンロードしない限り、それを行うことはできません。
AirまたはFlex4では、上記のように、アプリケーションからデスクトップに直接保存できます。