是否可以使用air for android下载文件夹及其内容?我也想在iPhone上使用相同的代码。
我需要将它存储在应用程序存储中,以便我们可以在下载后引用内容。
我知道可以下载此问题中引用的内容:Download Content using Air For Android
但是有人可以下载整个文件夹并再次将其存储在应用程序目录中吗?
由于
@lukevain? :)
答案 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";
}
}
}
}
}