我正在录制网络摄像头数据并发送到.php,以便稍后在flash中存储和查看。该元素工作正常,但每次执行此操作时,我需要根据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'];
?>++
这里有人能指引我正确的方向吗?提前谢谢。
最佳答案
您需要使用“URLVariables”类。
Here is a helpful tutorial explaining it's usage.
创建它的一个实例,设置与您想要设置的两个变量相匹配的值,同时添加原始视频数据。
// 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' ]);