我正在使用AS3创建编辑器,用户可以通过单击某些图像来设计页面,该图像将在该页面上显示重复。所以该页面是一个movieclip,即page_mc。我想将page_mc保存为mysql数据库(tgl_pages上的img colum)作为PNG图像。
我知道Php用于将ActionScript3连接到MySql。问题是我是AS3和Php的初学者,我不知道如何将图像链接到as3的php,以及我应该在php部分保存哪些变量来保存数据库。我试过寻找样本脚本,但我找不到我正在寻找的确切样本。但这是我迄今为止所尝试过的:
在AS3中:
import flash.net.URLRequest;
import flash.display.BitmapData;
import flash.utils.ByteArray;
import flash.net.URLRequestHeader;
import flash.net.URLLoader;
import flash.events.Event;
import flash.geom.Matrix;
import com.adobe.images.PNGEncoder;
btn_save.addEventListener(MouseEvent.CLICK, savePage);
function savePage(event:MouseEvent):void
{
var pngEncoder:PNGEncoder;
pngEncoder = new PNGEncoder();
var bitmap:BitmapData = new BitmapData(page_mc.width, page_mc.height);
bitmap.draw(page_mc, new Matrix());
var img:ByteArray = PNGEncoder.encode(bitmap);
var sendHeader:URLRequestHeader = new URLRequestHeader("Content-type", "application/octet-stream");
var sendReq:URLRequest = new URLRequest("saveScene.php");
sendReq.requestHeaders.push(sendHeader);
sendReq.method = URLRequestMethod.POST;
sendReq.data = img;
}
腓:
<?php
define("HOST", "localhost");
define("USERNAME", "root");
define("PASSWORD", "");
define("DB", "scenezone");
$con = mysqli_connect(HOST, USERNAME, PASSWORD, DB);
if (!$con) {
die("Database Connection Failed!");
}
else
{
if(isset($GLOBALS["HTTP_RAW_POST_DATA"]))
{
$filename = "filename.png";
$fp = fopen($filename, "wb");
fwrite($fp, $GLOBALS['HTTP_RAW_POST_DATA']);
fclose($fp);
echo "filename =".$filename."&base=".$_SERVER["HTTP_HOST"].dirname($_SERVER["PHP_SELF"]);
}
}
?>
如果我在脚本上有错误或缺少功能,请告诉我应该添加的内容。
先谢谢了! :)