我想在actionscript中加载一个目录。要做到这一点,我使用File类,但遗憾的是它不起作用。
这就是我所做的。首先,我使用以下代码在applicationStorageDirectory中创建了目录:
var root:File = File.applicationStorageDirectory.resolvePath(UIDUtil.createUID());
root.createDirectory();
之后我调度一个事件,以便应用程序将一些文件复制到该文件夹中。为此,我使用方法File.copyToAsync(这是有效的,所以这不是问题)。当所有文件都复制到该目录时,我尝试再次使用File调用加载该目录。我想这样做的原因是,我需要将内容/数据作为字节数组。仅在成功调用load方法之前设置File类的data属性。
由于目录位于应用程序存储目录中(文件对象的url属性具有以下内容:app-storage:/ FF011DBC-2E92-46A8-D5F8-29FE1DD8FA7A)我认为只需调用load方法即可。我错了......虽然该方法的文档说我可以在应用程序在AIR中运行并且要加载的文件位于应用程序沙箱中时调用该方法,但是我收到以下错误:
Error #2044: Unhandled IOErrorEvent:. text=Error #2038: File I/O Error.
at flash.filesystem::File/resolveComponents()
at flash.filesystem::File/resolvePath()
...
你有什么想法可能有什么不对吗?甚至可以使用File类加载目录吗?或者是否因为文件对象中的isDirectory标志设置为true而发生错误?
亲切的问候 马库斯答案 0 :(得分:0)
我相信File
指向目录时,不包含其中包含的文件的数据。您必须使用File.getDirectoryListing()
循环文件夹的所有文件,并将它们的字节分别附加到ZIP存档。不要忘记检查你是否遇到过子目录...
您可以查看此link以获取有关如何执行此操作的示例。