1

我希望能够在 AIR 桌面应用程序中加载本地 SWF。SWF 文件位于用户硬盘驱动器上的应用程序本身之外。

我正在使用的代码如下:

var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onCompleteHandler);
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgressHandler);
loader.load(new URLRequest("/Users/Oliver/Documents/sample.swf"));

该文件确实存在。我可以在 Unix 中使用以下命令测试它的存在:

$ ls /Users/Oliver/Documents/sample.swf

但是,应用程序抛出错误:

Error #2044: Unhandled IOErrorEvent:. text=Error #2035: URL Not Found.

如果我尝试从 Web 位置(例如http://127.0.0.1/sample.swf)加载相同的文件,则加载成功。

我知道 AIR 可以加载本地和远程文件。不是这样吗?具有讽刺意味的是,在我的应用程序的其他地方,我正在从本地文件系统读取、写入和删除任意文件而没有问题。但我无法加载它们?

4

1 回答 1

3

我相信问题出在你的道路上。尝试使用 File 类来获取您的 swf 的路径。

var f:File = File.documentsDirectory
f = f.resolvePath("sample.swf");
/* ----- */

loader.load(new URLRequest(f.url));
于 2012-04-12T23:30:34.867 回答