使用POST方法将数据从Flash发送到PHP

时间:2011-05-25 05:53:12

标签: flash actionscript-3

我开发了一个应用程序,允许用户在画布上绘制简单的图像。 movieclip(canvas)的名称是canvas_mc。

我需要使用php将此绘图保存在服务器上。我必须将movieclip(canvas_mc)转换为png和jpeg并保存。我已经使用

中提供的一些类将它成功保存在本地驱动器上

http://www.flashandmath.com/advanced/smoothdraw/index.html

如何使用PHP将其保存在服务器上。我被要求使用post方法。如果可能的话,也可以给我代码,因为我刚从设计转到编程:-)

1 个答案:

答案 0 :(得分:2)

不确定如何将图像转换为数据等等,但是这里有一个我可以用来将数据传输到PHP脚本的类(可以从那里将数据插入到数据库中)。

package
{
    import flash.net.URLRequest;
    import flash.net.URLLoader;
    import flash.net.URLVariables;
    import flash.net.URLRequestMethod;
    import flash.events.Event;

    /**
     * @author Marty Wallace
     * @version 1.00
     */
    public class PHPData extends Object
    {
        /**
         * Sends data to a PHP script
         * @param script A URL to the PHP script
         */
        public function send(script:String, vars:URLVariables):void
        {
            var req:URLRequest = new URLRequest(script);

            req.data = vars;
            req.method = URLRequestMethod.POST;

            var loader:URLLoader = new URLLoader();
            loader.load(req);

            // listeners
            loader.addEventListener(Event.COMPLETE, _complete);
        }

        /**
         * Called when a response has been received from a PHP script
         * @param e Event.COMPLETE
         */
        private function _complete(e:Event):void
        {
            var vars:URLVariables = new URLVariables(e.target.data);

            var i:String;
            for(i in vars)
            {
                trace(i + ": " + vars[i]);
            }

            e.target.removeEventListener(Event.COMPLETE, _complete);
        }
    }
}

使用:

var php:PHPData = new PHPData();
var vars:URLVariables = new URLVariables();

vars.imagedata = your_image_data;

php.send("your_php_script.php", vars);
相关问题