Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将ByteArray数据从AS3发布到PHP_Php_Actionscript 3_Bytearray - Fatal编程技术网

将ByteArray数据从AS3发布到PHP

将ByteArray数据从AS3发布到PHP,php,actionscript-3,bytearray,Php,Actionscript 3,Bytearray,我有这个: import JPGEncoder; var bmd:BitmapData = new BitmapData(stage.stageWidth, stage.stageHeight, true, 0); var bm:Bitmap = new Bitmap(bmd); bm.alpha = .5; stage.addEventListener(MouseEvent.MOUSE_DOWN, screenCap); function screenCap(e:Event):void {

我有这个:

import JPGEncoder;
var bmd:BitmapData = new BitmapData(stage.stageWidth, stage.stageHeight, true, 0);
var bm:Bitmap = new Bitmap(bmd);
bm.alpha = .5;

stage.addEventListener(MouseEvent.MOUSE_DOWN, screenCap);

function screenCap(e:Event):void {
bmd.draw(this);
var jpgVersion:JPGEncoder = new JPGEncoder( 80 );
var jpgStream:ByteArray  = jpgVersion.encode( bmd );
var loader:URLLoader = new URLLoader();
var request:URLRequest = new URLRequest("http://localhost/takeshot.php");
request.method = URLRequestMethod.POST;
request.data = jpgStream;
loader.load(request);
function dataOnLoad(e:Event){
 trace("Complete..");
}
}

这需要一个阶段的屏幕截图,并且应该通过POST数据将屏幕截图的字节数组发送给PHP,我的PHP只是打开一个新文件,写入POST数据并关闭(用于测试目的)。但是$u帖子是空的

$\u POST
是一个具有字段->值对的数组。您发送的是原始post数据。您可以使用
file\u get\u contents('php://input“)
或来自
$HTTP\u RAW\u POST\u DATA
,但前者是推荐的方法。

您可以发布您的php脚本(至少是访问POST数据的部分)吗?我通过使用$GLOBALS['HTTP\u RAW\u POST\u DATA']而不是$\u POST来修复此错误;但现在我有另一个错误,它生成的JPG文件只是黑色的,没有别的!这就是我认为错误的地方,使用$\u POST而不是读取原始的POST正文。这就是为什么我要PHP脚本的原因。;-)谢谢,但是新问题呢?黑屏而不是输出要生成的内容?嘿,谢谢!但是现在PHP文件创建了一个JPG文件,但是由于某些原因JPG是纯黑色的,Flash发送的是一个带有灰色矩形的屏幕!试着计算每边的校验和,看看你在PHP中是否得到了你发送的内容。试着检查标题。可能是请求被压缩了。我收到的标题:x-flash-version:10,0,22,91内容类型:应用程序/八位字节流内容长度:6650用户代理:Shockwave flash主机:本地主机缓存控制:无缓存您确定问题不在AS中吗?在发送之前,您应该先检查编码的jpeg是否正常。