2013-08-27 2 views
0

Проблема в том, что я не могу создать вложенную структуру каталогов в Android со следующим кодом в Кордове 3.0 на Android 4.3. (Тот же код работает в ИО)Ошибка при создании вложенных каталогов на Android с помощью cordova

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'] в нем создаст «изображения», но не сработает «test». Как кто-нибудь сталкивался с этой проблемой раньше?

В iOS я получаю 2 'Directory created: ...' выходы, как ожидалось.

ответ

0

Арг, кажется, что есть файл «изображений», или это, по крайней мере, специальное имя в Android. Добавив некоторую отладку в плагин FileUtils, я обнаружил, что «изображения» уже существуют, но не являются каталогом, и ошибки недостаточно ясны, чтобы определить это.

Итак, решение состоит в том, чтобы не использовать «изображения» в качестве нового каталога в корне вашей файловой системы приложений на Android.

Смежные вопросы