AS3 ByteArray长度正在缩短?

时间:2017-10-15 18:21:55

标签: php mysql actionscript-3 adobe blob

我正在尝试将一个ByteArray发送到PHP,然后将其作为BLOB存储在我的数据库中。当我跟踪ByteArray时,我获得了24,000字节的长度,这很好。当我将它发送到数据库时,看起来有些东西不正常,因为当我返回数据库值时,我总是得到10的长度。我确保将表值设置为MEDIUM BLOB。

这是我在AS3中的代码:

var jpg:JPGEncoder = new JPGEncoder(70);
var byteArray:ByteArray = jpg.encode(cropData);
var phpVars:URLVariables = new URLVariables();

var phpFileRequest:URLRequest = new URLRequest("http://");

        phpFileRequest.method = URLRequestMethod.POST;

        phpFileRequest.data = phpVars;

        var phpLoader:URLLoader = new URLLoader();
        phpLoader.dataFormat = URLLoaderDataFormat.BINARY;     
        phpLoader.addEventListener(Event.COMPLETE, confirmUpload);

        //phpVars.systemCall = "pullProfile";
        phpVars.picArray = byteArray;
        phpLoader.load(phpFileRequest);

这是我在PHP中的代码:

    <?php
include_once("connect.php");
$loggeduserapp = $_POST['loggeduserapp'];
$picArray = $_POST['picArray'];
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$sql = "UPDATE athletes.userinfo SET profilepicture='$picArray' WHERE email='$loggeduserapp'";
$conn->exec($sql)

?>

也许我正在以错误的方式加载BLOB信息?现在,我在JSON对象中有它,因为我正在为用户阅读其他信息,我正在引用它。

    var pbyteArray:ByteArray = new ByteArray();
    trace(profileArray.profilepicture); //profileArray is my JSON Object
    pbyteArray.writeObject(profileArray.profilepicture);
    trace(pbyteArray.length);

我不知道此时该怎么做,非常感谢任何帮助。 谢谢!

0 个答案:

没有答案