0

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

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

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

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

谢谢

@lukevain?:)

4

2 回答 2

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);
}
于 2012-08-28T00:52:40.057 回答
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";
                }
            }
        }
    }

}
于 2012-08-28T03:34:54.010 回答