サーバーからバイナリファイルをダウンロードして保存
AIRからリクエストを送信し、サーバーから送られるファイルデータを受信する方法。
例では、受信したファイルはアプリケーション保存領域に保存しています。
・URLLoaderでリクエスト送信
private function download():void { var req:URLRequest = new URLRequest(); var vars:URLVariables = new URLVariables(); //キーに「filename」、valueに「hoge.txt」を設定 vars.filename = "hoge.txt"; req.data = vars; //POSTを指定 req.method = URLRequestMethod.POST; req.url = "送信先のURL(PHPファイルパスなど)"; var loader:URLLoader = new URLLoader(); loader.addEventListener(Event.Complete, onComplete); loader.load(req); }
↓
サーバー側でリクエストを受け取ってファイルデータを送信
(PHPの場合はreadfile()など)
↓
・受信時のファイル保存処理
private function onComplete(event:Event):void { var stream:FileStream = new FileStream(); //アプリケーション保存領域に「hoge.txt」というファイル名で保存 var file:File = File.applicationStorageDirectory.resolvePath("hoge.txt"); stream.open(file, FileMode.WRITE); stream.writeBytes(event.target.data); stream.close(); }