Получите массив имен файлов, хранящийся в каталоге документов в React Native

СЛУЧАЙ

Я загрузил аудиофайлы в каталог с документами в папке с именем / track / как:

RNFetchBlob.fs.dirs.DocumentDir + '/tracks/'

Без сомнения, я могу прочитать каждое аудио по их имени как:

RNFetchBlob.fs.dirs.DocumentDir + '/tracks/' + 'audio1.mp3'

ВОПРОС: Я хочу получить список всех аудио. Я вижу в API доступа к файлам, мы можем читать файл, но я не могу найти, как получить список аудиофайлов из папки «/ треки /».

Я просто хочу иметь массив имен файлов в этом каталоге.

Ссылка на API доступа к файлам: https://github.com/wkh237/react-native-fetch-blob/wiki/File-System-Access-API#dirs

P.S: Я не хотел использовать другие плагины для доступа к файлам. Я не знаю, нужно ли мне искать в других библиотеках список файлов.

ОБНОВЛЕНИЕ

Со следующим кодом:

var TRACK_FOLDER = RNFetchBlob.fs.dirs.DocumentDir + '/tracks/';

console.log('Files LIST in Tracks Folder = ', RNFetchBlob.fs.ls(TRACK_FOLDER));

ВЫХОД:

Снимок экрана консоли Google

Я думаю, что приближаюсь, но вывод кажется трудным для анализа. :(

НАКОНЕЦ: (так как это делается)

    var TRACK_FOLDER = RNFetchBlob.fs.dirs.DocumentDir + '/tracks/';

    console.log('Files list in TRACK_FOLDER = ', RNFetchBlob.fs.ls(TRACK_FOLDER));

     RNFetchBlob.fs.ls(TRACK_FOLDER)
    .then( (files) =>{ 
        console.log(files.length);  
        console.log(files); 
        console.log(files[0]); 

    })

ВЫХОД:  final output

Надеюсь, это поможет кому-то там.


person Bikram Thapa    schedule 18.02.2019    source источник


Ответы (1)


RNFetchBlob.fs.ls возвращает обещание.

Таким образом, вы можете получить к нему доступ с помощью .then/.catch

RNFetchBlob.fs.ls(TRACK_FOLDER).then(files => {
  console.log(files);
}).catch(error => console.log(error))

или вы можете использовать async/await

try {
  let files = await RNFetchBlob.fs.ls(TRACK_FOLDER);
  console.log(files);
} catch (error) {
  console.log(error);
}

Вы можете узнать больше о RNFetchBlob.fs.ls здесь. Также обратите внимание, что репозиторий для RNFetchBlob перемещен сюда https://github.com/joltup/rn-fetch-blob

person Andrew    schedule 18.02.2019
comment
да, он возвращает обещание. в любом случае спасибо @Andrew за уделенное время. - person Bikram Thapa; 18.02.2019