我正在使用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卡或手机外置存储器中的文件夹列表。
答案 0 :(得分:1)
cordoba-plugin文件的文档包含不同位置的标识符。
https://github.com/apache/cordova-plugin-file
在这种情况下,您希望使用cordova.file.externalRootDirectory,当您将其传递给window.resolveLocalFileSystemURL()时,它将解析为正确的目录条目。