Android 列出phonegap生成目录中的文件
嗨,我正在尝试创建一个带有phonegap build的gallery应用程序,但我无法从本地存储中读取文件。我正在使用这个函数:Android 列出phonegap生成目录中的文件,android,file,cordova,Android,File,Cordova,嗨,我正在尝试创建一个带有phonegap build的gallery应用程序,但我无法从本地存储中读取文件。我正在使用这个函数: function listDir(directoryEntry){ var directoryReader = directoryEntry.createReader(); directoryReader.readEntries(function(entries){ // success get files and folders for(var i
function listDir(directoryEntry){
var directoryReader = directoryEntry.createReader();
directoryReader.readEntries(function(entries){ // success get files and folders
for(var i=0; i<entries.length; ++i){
alert(entries[i].name) // this is just for checking purposes, no matter what i put here it wont fire
}
}, function(error){ // error get files and folders
alert(error.code);
});
}
function getFileSystem(){
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fileSystem){ // success get file system
var sdcard = fileSystem.root;
sdcard.getDirectory('dcim',{create:false}, function(dirEntry){
listDir(dirEntry);
}, function(error){
alert(error.code);
})
}, function(evt){ // error get file system
console.log(evt.target.error.code);
});
}
getFileSystem();
函数listDir(directoryEntry){
var directoryReader=directoryEntry.createReader();
readEntries(函数(条目){//success获取文件和文件夹
对于(var i=0;i,您需要记住cordova api是异步的
此代码读取my app外部存储目录中的文件列表:
function getFilesList(callback) {
console.log('getFilesList');
var fileList = [];
function onDirResolved(dir) {
var reader =dir.createReader();
reader.readEntries(function(entries) {
console.log('readEntries');
for (var i=0; i<entries.length; i++) {
if (entries[i].name.indexOf(".fototoon") != -1) {
fileList.push(entries[i].fullPath);
};
};
console.log('fileList ' + fileList);
callback(fileList);
}, errorHandler);
};
function onFsResolved(fs) {
window.resolveLocalFileSystemURL(
cordova.file.externalApplicationStorageDirectory,
onDirResolved, errorHandler);
};
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0,
onFsResolved, errorHandler);
};
函数getFilesList(回调){
log('getFilesList');
var fileList=[];
函数(dir){
var reader=dir.createReader();
reader.readEntries(函数(条目){
log('readEntries');
对于(var i=0;我不知道答案??您是否尝试只列出文件系统中的文件。root
?最好先做简单的事情,让它们工作,然后再做更高级的事情。此外-删除函数(文件系统)可能会有好处
从窗口。requestFileSystem
并将其作为一个单独的函数调用。最后一件事-是否安装了文件
和文件传输
API?使用OnDevicerady侦听器调用该函数解决了此问题,并且它也与另一个jquery函数冲突(您需要首先调用侦听器)