我有一个actionscript项目,我将其部署为Air桌面应用程序,并使用Flash插件部署在浏览器中。
我的桌面部署会读取SWF文件本身,创建文件的哈希并将其发送到我的服务器。如果哈希值与预期值不匹配,则SWF会将自身上传到我的服务器进行进一步检查。这都使用flash.filesystem库。
在浏览器中部署为Flash文件时可以完成相同的操作。我没有访问flash.filesystem进行浏览器部署。
除了使用文件系统之外,还有其他方法来读取SWF本身。
答案 0 :(得分:2)
根据这篇文章(http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/system/Worker.html),您可以通过 loaderInfo.bytes : ByteArray 访问整个SWF内容,因此无需加载任何东西。享受。
回退到加载:
var aRequest:URLRequest = new URLRequest;
// Property loaderInfo.url contains the full path to the SWF.
aRequest.url = loaderInfo.url;
var aLoader:URLLoader = new URLLoader;
// Set data format to binary instead of default text.
aLoader.dataFormat = URLLoaderDataFormat.BINARY;
aLoader.addEventListener(Event.COMPLETE, onReady);
aLoader.load(aRequest);
function onReady(e:Event):void
{
var anSWF:ByteArray = aLoader.data as ByteArray;
trace(anSWF.length);
}
答案 1 :(得分:1)
答案 2 :(得分:0)
您可以将Flex代码部署到AIR桌面应用程序,该应用程序已转换为SWF文件,该文件可在浏览器中用作嵌入对象。 请阅读更多here。