こんにちは。きんくまです。
URLアドレスやファイル名が分かっている場合に、Loaderクラスを使えばJPEGファイルはひっぱってこれます。
でも、サーバーにリクエストして、バイナリが直接返ってくる場合はどうするのか?というと、
Loader.loadBytes()をつかってやればいいみたいです。
って、こんなこと思いつかないよー!!
下記サイトで教えてもらいました。ありがとうございます。
>> FlashからPHPへバイナリーデータを送信する | Mtok-blog
■Main.as
package { import flash.display.Bitmap; import flash.display.BitmapData; import flash.display.Loader; import flash.display.LoaderInfo; import flash.display.Sprite; import flash.errors.IOError; import flash.events.Event; import flash.events.IOErrorEvent; import flash.net.URLLoader; import flash.net.URLLoaderDataFormat; import flash.net.URLRequest; import flash.utils.ByteArray; /** * ... * @author KinkumaDesign */ public class Main extends Sprite { 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); var req:URLRequest = new URLRequest(); req.url = "myjpg.php"; var urlLoader:URLLoader = new URLLoader(); urlLoader.dataFormat = URLLoaderDataFormat.BINARY; //返ってくるのはBynary urlLoader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); urlLoader.addEventListener(Event.COMPLETE, urlloaderCompleteHandler); urlLoader.load(req); } private function urlloaderCompleteHandler(e:Event):void { var urlLoader:URLLoader = e.target as URLLoader; var barr:ByteArray = urlLoader.data as ByteArray; var loader:Loader = new Loader(); loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loaderCompleteHD); loader.loadBytes(barr); //BynaryをLoaderで読み込む! } private function loaderCompleteHD(e:Event):void { var info:LoaderInfo = e.target as LoaderInfo; var bm:Bitmap = info.content as Bitmap; var bmd:BitmapData = bm.bitmapData; //BitmapDataを取り出したければ addChild(bm); } private function ioErrorHandler(e:IOErrorEvent):void { throw new Error(e.text); } } }
■myjpg.php
<?php $file_name = "sample.jpg"; $file = fopen($file_name, "r") or die("error"); $jpg_byte = fread($file, filesize($file_name)); echo $jpg_byte; ?>
■ 自作iPhoneアプリ 好評発売中!
・フォルメモ - シンプルなフォルダつきメモ帳
・ジッピー電卓 - 消費税や割引もサクサク計算!
■ LINEスタンプ作りました!
毎日使える。とぼけたウサギ