ZendAMF 経由で PHP にオブジェクトを送信する ActionScript 3 アプリケーションがあります。オブジェクトには、画像からの byteArray が含まれています。
現在、次のように byteArray を Blob に保存しています。
$ba = new Zend_Amf_Value_ByteArray ( $im->bArray );
$data = mysql_real_escape_string ( $ba->getData () );
$query = "INSERT INTO image ( byteArray ) VALUES ( '".$data."' );";
$result = mysql_query($query);
$error = mysql_error();
if($error)
return "Error: " . $error;
else
return true;
これは正常に動作しているようで、DB でイメージを確認できます (これはローカルで実行されており、SequelPRO を使用して DB を表示しています)。
問題は、byteArray を Flash に送り返すときに、Flash が byteArray の長さを 0 として報告することです。
PHPでの私のreturnメソッドは次のとおりです。
$result = mysql_query ( 'SELECT * FROM image');
$array = array();
while ( $row = mysql_fetch_assoc ( $result ) )
{
$ba = new Zend_Amf_Value_ByteArray ( $row['byteArray'] );
$image = new Image ();
$image->id = $row['id'];
$image->file = $row['filePath'];
$image->bArray = $ba->getData();
array_push ( $array, $image );
}
return ( $array );
これを行うより良い方法はありますか?どんな助けでも大歓迎です。
ありがとうございました