如何获取phonegap中手机sdcard(外部存储卡)的文件夹列表

时间:2015-10-30 14:24:54

标签: android cordova phonegap-plugins

我正在使用phonegap的文件使用此代码列出手机内的所有文件夹。

      document.addEventListener("deviceready", makeFileSystemReady, true);
      var globalFileSystem;
      function makeFileSystemReady(){
      window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, onFileSystemSuccess, onFileSystemError);
      }


    function onFileSystemSuccess(fs){
    globalFileSystem=fs; //Initialized the global file system.
     }


    function onFileSystemError(){
    console.log("Unable to load the file System Plugin");
    }

   function chooseFromGallery(){
   var dirReader = globalFileSystem.root.createReader();
   dirReader.readEntries(galleryFiles,galleryFilesErrors);
   }

    function galleryFiles(entries){
    var s = "<p style='color:white'>";
    console.log(globalFileSystem.root);
    for(var i=0,len=entries.length; i<len; i++) {
    //entry objects include: isFile, isDirectory, name, fullPath
    s+= entries[i].fullPath;
    if (entries[i].isFile) {
    s += " [F]";
    }
    else {
    s += " [D]";
    }
    s += "<br/>";

    }
    s+="<p/>";

document.getElementById('videoArea').innerHTML=s;
}

 function galleryFilesErrors(){
  alert("Unable to use the file system !");
  }

此代码工作正常,但问题是,如何获取SD卡或手机外置存储器中的文件夹列表。

1 个答案:

答案 0 :(得分:1)

cordoba-plugin文件的文档包含不同位置的标识符。

https://github.com/apache/cordova-plugin-file

在这种情况下,您希望使用cordova.file.externalRootDirectory,当您将其传递给window.resolveLocalFileSystemURL()时,它将解析为正确的目录条目。