0

由于我的 AS3 和 Php/Java 知识不好,我被困在这个问题上。

我有一个 AS3 函数,它将位图数据发送到 PHP 文件以保存一些图像,在这个函数中我还添加了一些其他参数,并且新参数应该给我一个我需要的字符串值。

private function saveImageForFacebook(evt:MouseEvent)


 // Sends the Bitmap data to php    


{
        var bitmapData:BitmapData=new BitmapData(wheelCanvas.width, wheelCanvas.height);
        bitmapData.draw(wheelCanvas); 
        var jpgEncoder:JPGEncoder = new JPGEncoder(80);
        var byteArray:ByteArray = jpgEncoder.encode(bitmapData);
        var header:URLRequestHeader = new URLRequestHeader ("Content-type", "application/octet-stream");
        var jpgURLRequest:URLRequest = new URLRequest ("http://www.someurl.com/flash-test/saveimg.php");
        jpgURLRequest.requestHeaders.push(header);
        jpgURLRequest.method = URLRequestMethod.POST;
        jpgURLRequest.data = byteArray;
        navigateToURL(jpgURLRequest, "_blank");


 // Creates the string value that I need to use in saveimg.php


        var suffixUrl:String = "";
        for(var i:int=0; i < customizedColorArr.length; i++)
        {
             if(customizedColorArr[i] != "")
             {
                 suffixUrl += "&" + customizedPartValueArr[i] + "=" + customizedColorArr[i];
             }
        }
        suffixUrl = wheelName + "&variant_name=" + variantName + suffixUrl;
        trace(suffixUrl);

    } 

不知何故,我需要在我的 saveimg.php 文件中跟踪“suffixUrl”值,但我不知道如何。

这就是我的 php 文件的外观以及 suffixUrl 需要去哪里。

    <?php
    if ( isset ( $GLOBALS["HTTP_RAW_POST_DATA"] )) {
    $uniqueStamp = date(U);
    //$filename = "temp_image.jpg";
    $filename = $uniqueStamp . ".jpg";
    $fp = fopen( $filename,"wb");
    $result = fwrite( $fp, $GLOBALS[ 'HTTP_RAW_POST_DATA' ] );
    fclose( $fp );

    }
    ?>
    <meta property="og:image" content="http://www.someurl.com/flash-test/src_server/<?php echo $filename ; ?>" /> 
 <SCRIPT LANGUAGE="JavaScript">
     function redirect () {
     window.location.href = "http://www.facebook.com/sharer.php?u=http://www.someurl/flash-test/Main3D.html?"+suffixUrl, '_self';
}
 </SCRIPT>
   <BODY onload="redirect()">

您将在我的 javascript 函数中看到“suffixUrl”。这就是我试图追踪这个价值的地方。

4

2 回答 2

0

假设您的“php 文件”是嵌入 Flash 的文件,您可以使用 ExternalInterfaceredirect从 Flash 调用您的函数。

闪光 :

ExternalInterface.call("redirect", suffixUrl);

注意:您需要导入flash.external.ExternalInterface;

JavaScript:

function redirect (suffixUrl) {
     window.location.href = "http://www.facebook.com/sharer.php?u=http://www.someurl/flash-test/Main3D.html?" + suffixUrl;
}
于 2012-06-21T01:19:15.487 回答
0

您不想向Javascript发送变量;你想向PHP发送一个变量。

将后缀生成代码块移到Bitmap发送部分的上方,然后改变这一行。

var jpgURLRequest:URLRequest = new URLRequest ("http://www.someurl.com/flash-test/saveimg.php?suffixUrl=" + suffixUrl);

然后,在PHP

window.location.href = "http://www.facebook.com/sharer.php?u=http://www.someurl/flash-test/Main3D.html?" + <?php echo $_GET['suffixUrl'] ?>, '_self';

这将起作用,但您还必须清理输入以确保安全

于 2012-06-21T12:01:23.707 回答