![]() ![]() ![]() | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
neru330 | Åê¹ÆNo.44357 投稿日時: 2010-2-3 7:36 |
半人前 ![]() ![]() 居住地: 東京 投稿: 33
使用環境:
Mac OS X;Flash CS3;Flash Player 10;Firefox; |
AMFPHPとAS3で連携:ByteArrayが型変換できない 書き込むのはひさしぶりですが、いつもコチラにはお世話になっています。
早速ですが、表題の件で現在かなり困っております。 1. AS3でByteArrayをAMFPHPに送信 -> PHPでDBにそのデータと登録番号を登録 2. AS3からAMFPHPにアクセス、データ一覧(登録番号とそのデータ)を取得 3. 取得したデータを表示 ということをしています。 問題のポイントは2.のところで起こっています。 取得したデータは複数あるためArray型で返って来ています。 //----- private function loadedData(data:*):void { dataList=data; var dataId:int=int(dataList[0].id);//正常 var imgData:ByteArray=dataList[0].data as ByteArray;//null //----- こんなかんじで取得しているのですが、int型は型変換できているものの、imgDataがどうしてもByteArrayになりません。 asでキャストするとnullが、そのままつっこもうとすると 強制型変換できませんでしたのエラーが返ってきます。 いろいろ調べてみたところ、 ・As3からのByteArrayの送信は正常に行われている ・PHPからはByteArrayとしてデータが送られている ことは間違いないようなのです。 にもかかわらずキャストできないとは… DB書き込みの際やAMFPHP独自の仕様?など関係するのでしょうか・ さんざんググったのですが不明です。 どなたかほんの些細なことでも良いのでお力を貸していただければと思います。 ![]() |
neru330 | Åê¹ÆNo.44358 投稿日時: 2010-2-3 10:25 |
半人前 ![]() ![]() 居住地: 東京 投稿: 33
使用環境:
Mac OS X;Flash CS3;Flash Player 10;Firefox; |
Re: AMFPHPとAS3で連携:ByteArrayが型変換できない あれから更に原因を絞り込んでみています。
とりあえず、ByteArrayデータがObject型としてしか取得できておらず、それを無事ByteArray型にできれば解決しそうな感じです。 以下のコードを試してみましたが、一部文字がバケてしまい、正常データではなくなってしまいました。 //----------------------------- //ByteArrayインスタンスを生成 var imgData:ByteArray = new ByteArray(); //コピー元ObjectのバイナリデータをByteArrayインスタンスに書き込み imgData.writeObject(dataList[0].data); //----------------------------- dataList[0].dataは正しいByteArrayのようなのですが… 引き続き、情報お待ちしております。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |