AIRで画像をBase64形式でサーバ(php)に送信する必要があったため以下のようなコードを作りました。flexのBase64Encoderを使用しています。
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 |
import mx.utils.Base64Encoder; private function SendSaver( imageBytes:ByteArray ){ // Base64形式に変換 var enc:Base64Encoder = new Base64Encoder(); enc.encodeBytes(imageBytes); var base64:String = enc.toString(); // URLVariables var variables:URLVariables = new URLVariables(); //variables.token = token; variables.upfile = base64; // URLの設定 var urlRequest:URLRequest = new URLRequest("http://.../test.php"); urlRequest.method = URLRequestMethod.POST; urlRequest.data = variables; // 画像送信 urlLoader = new URLLoader(); urlLoader.dataFormat = URLLoaderDataFormat.TEXT; urlLoader.addEventListener(IOErrorEvent.IO_ERROR, LoadIoError); urlLoader.addEventListener(Event.COMPLETE, LoaderComplete); urlLoader.load(urlRequest); } private function LoaderComplete(event:Event):void { event.target.removeEventListener(Event.COMPLETE, LoaderComplete); //var loader:Loader = event.target.loader; //loader.width = 250; //loader.height = 250; } private function LoadIoError(e:IOErrorEvent):void{ throw new Error(e.text); } |
参考:http://blog.nipx.jp/archives/4137
コメントを残す