J'ai une application ActionScript 3 qui envoie un objet à PHP via ZendAMF. L'objet contient un byteArray d'une image.ByteArray à MySQL à partir d'ActionScript 3 -> PHP via ZendAMF
Je l'ai à l'enregistrement des byteArray dans un Blob comme ceci:
$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;
Cela semble fonctionner très bien et je peux voir l'image dans la base de données (ce qui est en cours d'exécution locale et j'utilise SequelPRO pour voir la DB).
Le problème est quand j'envoie le byteArray le contenu Flash, Flash signale la longueur de byteArray 0.
Voici ma méthode de retour en PHP:
$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);
Y at-il une meilleure façon pour faire ça? Toute aide serait grandement appréciée.
Merci
Oui, j'essayais ça. – Yav
On dirait que le tableau d'octets arrive à PHP et dans la base de données sans problème, puis je peux le sortir de la base de données et construire un objet en PHP mais quand Flash récupère l'objet, il ne voit pas le tableau d'octets tableau d'octets. – Yav