需要使用与Pepper Flash插件配合使用的navigateToURL替代POST数据

时间:2014-03-08 21:44:42

标签: actionscript-3 flash google-chrome

正如大多数人所知,谷歌在Chrome中开始使用Pepper Flash插件后搞砸了几个flash应用程序。

我遇到了同样的问题,但是外部接口调用无法解决,因为我需要使用POST将数据发布到php文件。

我的应用程序basicaly采取截图,并发布到PHP文件。之前工作得很好,但现在使用Pepper Flash,没有任何反应。

这是POST数据的代码段。

jpgURLRequest.method = URLRequestMethod.POST;
jpgURLRequest.data = jpgStream;
navigateToURL(URL_TO_THE_PHP_FILE, "_self");

有解决方法吗?我的网站使用这个应用程序每天有成千上万的访问者,大多数用户不知道如何禁用胡椒闪光灯。

感谢。

1 个答案:

答案 0 :(得分:2)

要上传图片,您需要URLLoader,图片编码算法,以及服务器端的一些合同(POST&#39体内的变量名称,编码算法等)

var urlRequest : URLRequest = new URLRequest();
var urlLoader : URLLoader = new URLLoader();
var urlVars : URLVariables = new URLVariables();

//Take from the image bytes, for example with JPEGEncoder
//Endoce ByteArray for example with Base64
//If image is big, you can split on several parts
urlVars.image = Base64.encode(imageData);

urlRequest.url = $snapshotUploadURL;
urlRequest.method = URLRequestMethod.POST;
urlRequest.data = urlVars;

// create the image loader & send the image to the server;
urlLoader.addEventListener(Event.COMPLETE, onComplete);
urlLoader.load(urlRequest);

BloodyCrypto is very helpful library执行此任务。