如何将movieclip作为PNG图像保存到MySql数据库?

时间:2017-09-28 09:35:20

标签: php actionscript-3 flash

我正在使用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"]);
        }
    }   
?> 

如果我在脚本上有错误或缺少功能,请告诉我应该添加的内容。

先谢谢了! :)

0 个答案:

没有答案