FileReferenceでテキストファイルをローカルPCに保存。
FileReferenceでテキストファイルをローカルPCに保存。 – wonderfl build flash online
▼ActionScript AS3(FP10)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
/* * FileReferenceでテキストファイルをローカルPCに保存。 * * Flash Player 10 のローカルファイルアクセス機能 (FileReference クラス) * http://blogs.adobe.com/akamijo/archives/2008/07/flash_player_10_5.html * * */ package { import com.bit101.components.PushButton; import flash.display.Sprite; import flash.events.Event; import flash.events.MouseEvent; import flash.net.FileReference; import flash.text.TextField; /** * ... * @author umhr */ public class Main extends Sprite { private var _tf:TextField; public function Main():void { if (stage) init(); else addEventListener(Event.ADDED_TO_STAGE, init); } private function init(e:Event = null):void { removeEventListener(Event.ADDED_TO_STAGE, init); _tf = new TextField(); _tf.width = 400; _tf.height = 300; _tf.type = "input"; _tf.border = true; _tf.backgroundColor = 0xEEEEEE; _tf.background = true; _tf.text = "これは UTF-8 の文字列として保存されます"; _tf.multiline = true; _tf.wordWrap = true; this.addChild(_tf); new PushButton(this, 300, 300, "Save", atClick); } private function atClick(event:MouseEvent):void { var fr:FileReference=new FileReference(); var dat:String = _tf.text; //Windowsの改行に置換 dat = dat.replace(/\r/g, "\r\n"); fr.addEventListener(Event.COMPLETE,onComplete); fr.save(dat, "UTF8Text.txt"); // ダイアログを表示する function onComplete(e:Event):void { trace(fr.name); // ユーザが指定したファイル名を表示 } } } } |