使用cordova在Android上创建嵌套目录时出错

时间:2013-08-27 13:31:02

标签: android cordova html5-filesystem cordova-3

问题是我无法使用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'目录创建:......'输出正如预期。

1 个答案:

答案 0 :(得分:0)

Arg,似乎有一个'images'文件,或者它至少是Android中的一个特殊名称。在FileUtils插件中添加一些调试我发现'images'已经存在,但不是目录,并且错误不够明确,无法确定。

因此,解决方案是不要将'images'用作Android上应用文件系统根目录中的新目录。