问题是我无法使用Android 4.3上的Cordova 3.0下的代码在Android中创建嵌套目录结构。 (相同的代码适用于iOs)
var createDirectories = function(directoryArray, currentDir) {
var parent = currentDir;
var create = function(dirs) {
if (dirs.length > 0) {
console.log('Creating dir: ' + parent.fullPath + '/' + dirs[0]);
parent.getDirectory(dirs[0], {create: true, exclusive: false}, function(newDir){
console.log('Directory created: ' + newDir.fullPath);
parent = newDir;
dirs.splice(0, 1);
create(dirs);
}, function(err) {
console.log('Error creating directory. ' + err.code);
console.log(err);
if (FileError.PATH_EXISTS_ERR === err.code) {
console.log('Directory already exists.');
}
});
} else {
console.log('done');
}
};
create(directoryArray);
};
无论我尝试了什么,呼叫都会失败,并且PATH_EXISTS_ERR。因此,如果我在其中传递['images','test']将创建'images',但在'test'上失败。任何人都遇到过这个问题吗?
在iOs上我得到2'目录创建:......'输出正如预期。
答案 0 :(得分:0)
Arg,似乎有一个'images'文件,或者它至少是Android中的一个特殊名称。在FileUtils插件中添加一些调试我发现'images'已经存在,但不是目录,并且错误不够明确,无法确定。
因此,解决方案是不要将'images'用作Android上应用文件系统根目录中的新目录。