0

希望能够使用 as3 air 从用户手机中浏览和选择文件。

此代码仅弹出一个上传框并显示“未找到文件”。但我知道我的手机上有一个 zip,所以它一定不能选择正确的文件夹路径。如何更改它以使其访问整个手机?

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);
}
4

2 回答 2

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();
            }
        }
    }
}
于 2012-09-07T14:24:35.763 回答
1

我在这里给了你一个答案:as3 get zip file on phone from app - file path then unzip

基本上你必须编写自己的文件浏览器,帮助文档建议这样做(但是他们可以内置它)。例如

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();

    }
}

此致

于 2012-09-04T10:01:18.810 回答