3

我正在记录网络摄像头数据并发送到 .php,以便稍后在 Flash 中存储和查看。该元素工作正常,但每次执行此操作时,我都需要根据闪存中设置的变量为文件提供唯一 ID。

这是我用来将 flv 作为 byteArray 发布的代码:

     var url_ref:URLRequest = new URLRequest("save_vid.php");
     url_ref.contentType = 'application/octet-stream';
     url_ref.data = _baFlvEncoder.byteArray;//url_data;
     url_ref.method = URLRequestMethod.POST;
     urlLoader.dataFormat = URLLoaderDataFormat.BINARY;
     try {
             urlLoader.load( url_ref );
         } catch (e:Error) {
             trace(e);
         }

我需要附加到 PHP 文件中设置的文件名的变量:

    var currentVideo:String;
    var currentName:String;

到目前为止我的 PHP 文件:

    <?php
    echo 'Data:<pre>';
    print_r($_POST);
    echo '</pre>';
    file_put_contents("test.flv",$GLOBALS[ 'HTTP_RAW_POST_DATA' ]);

    $sCurrentVideo = $_POST['currentVIdeo'];

    $sCurrentName = $_POST['currentName'];
    ?>++

这里的任何人都可以引导我朝着正确的方向前进吗?提前致谢。

4

1 回答 1

2

您将需要使用“ URLVariables ”类。

这是一个有用的教程,解释了它的用法。

创建它的一个实例,设置值以匹配您要设置的两个变量,同时添加原始视频数据。

// Define the variables to post    
var urlVars:URLVariables = new URLVariables(); 
urlVars.currentVideo = currentVideo;
urlVars.currentName = currentName;
urlVars.videoData = _baFlvEncoder.byteArray;

然后在 中urlReq,设置数据等于urlVars实例:

url_ref.data = urlVars;

然后,您将能够在 PHP 的 $_POST 变量中访问这些值。

file_put_contents("test.flv",$_POST[ 'videoData' ]);

于 2013-05-04T19:02:22.953 回答