Поле BLOB (рис.) Становится равным 0 байтам при попытке отправить ByteArray через as3 в PHP, поэтому я предполагаю, что скрипт PHP или HTTP_RAW_POST_DATA не работает.
Я думаю, что часть Flashработает, я установил trace()
, чтобы увидеть, поступают ли растровые данные, и кажется, что это так, поэтому я предполагаю, что это моя сторона php.Я опубликую обе части кода в надежде, что кто-то здесь сможет исправить это для меня.Спасибо.
AS3
private function export():void
{
var bmd:BitmapData = new BitmapData(600, 290);
bmd.draw(board);
var ba:ByteArray = PNGEncoder.encode(bmd);
trace(ba);
var _request:URLRequest = new URLRequest ("http://site.com/readimage.php");
var loader: URLLoader = new URLLoader();
_request.contentType = "application/octet-stream";
_request.method = URLRequestMethod.POST;
_request.data = ba;
loader.load(_request);
}
PHP
<?php
$username = "images";
$password = "password";
$host = "localhost";
$database = "images";
$link = mysql_connect($host, $username, $password);
if (!$link) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db ($database);
$query ="INSERT INTO main (pic) VALUES ('".$GLOBALS["HTTP_RAW_POST_DATA"]."')" or die(mysql_error());
$results = mysql_query($query, $link);
?>