我目前正在进行的一个 Flash 项目需要我拍摄一系列舞台截图并将这些截图上传到服务器。我已经编写了粘贴在下面的 AS3 代码,以将屏幕截图(转换为 jpeg)发送到 php 处理脚本(imageprocess.php)。
for (var i:int=0; i<sourceArray.length; i++)
{
var jpgEncoder:JPGEncoder = new JPGEncoder(10);
var jpgStream:ByteArray = jpgEncoder.encode(sourceArray[i]);
var header:URLRequestHeader = new URLRequestHeader("Content-type", "application/octet-stream");
var jpgURLRequest:URLRequest = new URLRequest("imageprocess.php?name=drawing" + i +".jpg");
jpgURLRequest.requestHeaders.push(header);
jpgURLRequest.method = URLRequestMethod.POST;
jpgURLRequest.data = jpgStream;
navigateToURL(jpgURLRequest, "_blank"); //switch to ExternalInterface.call("someJS")
}
不幸的是,我发现navigateToURL 每帧只能运行一次(http://www.actionscript.org/forums/showthread.php3?t=250594)。看起来我必须使用 ExternalInterface.call 加上一些 Javascript 来上传多个屏幕截图,但我不确定这个 Javascript 代码会是什么样子。有人愿意提供一些示例 JS,它可以获取我转换的每个屏幕截图并将它们发送到 php 文件吗?我真的很感激任何和所有的建议。