as3 air for android下载文件夹和内容

时间:2012-08-28 00:16:24

标签: android actionscript-3 air download directory

是否可以使用air for android下载文件夹及其内容?我也想在iPhone上使用相同的代码。

我需要将它存储在应用程序存储中,以便我们可以在下载后引用内容。

我知道可以下载此问题中引用的内容:Download Content using Air For Android

但是有人可以下载整个文件夹并再次将其存储在应用程序目录中吗?

由于

@lukevain? :)

2 个答案:

答案 0 :(得分:0)

您是从网络服务器下载的吗?如果是这样,这将无法工作,我建议使用php脚本列出远程目录中的所有文件。

如果是本地的,您可以使用:

//using the application storage dir. This will work on iOS and Android
var f:File = File.applicationStorageDirectory.resolvePath("yourFolder/"); 
//you can also use getDirectoryListingAsync to have this run in the background
var filesList:Array = f.getDirectoryListing();
for (var i:int = 0; i < filesList.length; i++) {
    trace(filesList[i].nativePath);
}

答案 1 :(得分:0)

这不是如何从服务器获取文件夹内容的答案,但它是一种在本地计算机上搜索您选择的文件夹的方法。它只有3级深度,它可能不是查找文件夹的最佳方式,因为它检查它们的扩展名是否为空,我认为它是一个文件夹。然后我在那个文件夹中搜索。无论如何它在这里。

您需要创建一个文本字段并为其指定实例名称“daText”;

以下是代码:

import flash.filesystem.*;
import flash.media.*;
var myFolder:String = "images/"; /// change this to the folder of your choice :)

var desktop:File = File.applicationDirectory.resolvePath(myFolder);
var files:Array = desktop.getDirectoryListing();
for (var i:uint = 0; i < files.length; i++)
{

    if (files[i].extension == null)
    {

        daText.text +=  files[i].name + "\n";
        var anotherArray:File = File.applicationDirectory.resolvePath(myFolder+files[i].name);
        var h:Array = anotherArray.getDirectoryListing();
        for (var a:uint = 0; a < h.length; a++)
        {
            daText.text +=  "----" + h[a].name + "\n";
            if (h[a].extension == null)
            {

                var oneMoreArray:File = File.applicationDirectory.resolvePath(myFolder+files[i].name+"/"+h[a].name+"/");
                var C:Array = oneMoreArray.getDirectoryListing();
                for (var B:uint = 0; B < C.length; B++)
                {
                    daText.text +=  "*******"+C[B].name + "\n";
                }
            }
        }
    }

}