0

我目前正在进行的一个 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 文件吗?我真的很感激任何和所有的建议。

4

2 回答 2

0

您不必使用 JavaScript 来上传图像,为什么不创建一个 JavaScript 函数来在浏览器中打开一个新链接(如弹出窗口)?一个函数的副本,navigateToURL但在 JavaScript 中?我想这将是一个更快的修复?使用 JavaScript 打开窗口,请阅读链接。

于 2012-05-21T07:33:21.817 回答
0

URLLoader 可能会解决您的问题。没有使用navigationtourl 进行上传,真的很有趣。 http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/URLLoader.html

于 2012-05-21T07:48:14.333 回答