0

问题是我无法在 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'] 它将创建“图像”,但在“测试”中失败。以前有人遇到过这个问题吗?

在 iOs 上,我得到 2 'Directory created: ...' 按预期输出。

4

1 回答 1

0

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

因此,解决方案是不要在 Android 上的应用程序文件系统的根目录中使用“图像”作为新目录。

于 2013-08-27T13:55:31.057 回答