私のアプリケーションでは、ユーザーは自分自身を登録する必要があります。その過程で彼は写真を撮る必要があります。画像をデータベースに保存したいと思います。これは Flex モバイル プロジェクトであり、私は php を使用しています。これが私がこれまでに得たものです:
次のように:
var bitmapdata:BitmapData=this.data as BitmapData;
var encoder:JPEGEncoder=new JPEGEncoder(85);
var stream:ByteArray=encoder.encode(bitmapdata);
var b64:Base64Encoder=new Base64Encoder();
b64.encodeBytes(stream);
var obj:Object=new Object();
obj.test="test";
obj.bytes=b64;
netCon=new NetConnection();
netCon.connect(".../gateway.php");
var resp:Responder=new Responder(resultHandler, faultHandler);
netCon.call("gotcha.registerUserPic",resp,stream);
PHPで:
function registerUserPic($paramObj){
$test=addslashes($paramObj['test']);
$data=addslashes($paramObj['bytes']);
$decodeddata=base64_decode($data);
$sql="INSERT INTO `dbName`.`upload` (`id`,`content`) VALUES (NULL, '$decodeddata');";
$result = mysql_query($sql);
return $result;
}
しかし、彼は byteArray を BLOB フィールドに保存しません。
b64 = "/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEP.." をトレースすると、
これを解決する方法がわかりません。