希望能够访问使用as3 air从用户手机浏览和选择文件。
此代码仅弹出一个上传框,并显示“未找到文件”。但我知道我的手机上有一个拉链,所以一定不能选择正确的文件夹路径。如何更改它以使其访问整个手机?
function unzip_init():void{
fileFilter = new FileFilter("selected your zip file.", "*.zip; *.gz2; *.bz2;");
file = new File();
//file.browseForDirectory("Choose a directory"); // Only got me the directory path
file.browseForOpen("Open", [fileFilter]);
file.addEventListener(Event.SELECT, onSelectedFile);
}
答案 0 :(得分:2)
从SD卡获取所有mp3文件
var ROOT:File = File.documentsDirectory.resolvePath("/sdcard/");
var FILES:Array = ROOT.getDirectoryListing();
var TrackN:int;
var SUBFOLDER:String;
for (var i:int = 0; i < FILES.length; i++)
{
var File_Ext:String;
File_Ext = "" + FILES[i].extension;
if (File_Ext.toLowerCase() == "mp3")
{
TrackN++;
list.addItem( { label:FILES[i].name, data:TrackN, Song:FILES[i].url} );
}
if (FILES[i].isDirectory == true)
{
SUBFOLDER = "" + FILES[i].nativePath;
getSubfolders();
}
function getSubfolders()
{
var SUBF:File = File.documentsDirectory.resolvePath(SUBFOLDER);
var FLIST:Array = SUBF.getDirectoryListing();
for (var s:int = 0; s < FLIST.length; s++)
{
File_Ext = "" + FLIST[s].extension;
if (File_Ext.toLowerCase() == "mp3")
{
TrackN++;
list.addItem( { label:FLIST[s].name, data:TrackN, Song:FLIST[s].url} );
}
if (FLIST[s].isDirectory == true)
{
SUBFOLDER = "" + FLIST[s].nativePath;
getSubfolders();
}
}
}
}
答案 1 :(得分:1)
我在这里给了你答案:as3 get zip file on phone from app - file path then unzip
基本上你必须编写自己的文件浏览器,帮助文档建议这一点(但是他们可以构建它)。 e.g。
var rootDirs:Array = File.getRootFirectories();//all available root dirs
然后你可以选择一个并列出它的内容
if(rootDirs && rootDirs.length > 0)
{
var dir:File = rootDirs[0]
if(dir.isDirectory)
{
//try to enumerate it's content
var files:Array = dir.getDirectoryListing();
}
}
最好的问候