2

我正在使用 react-native-fs 进行文件系统访问。但是我无法访问ios中的文件。

下面是代码:

RNFS.readDir(RNFS.MainBundlePath)
.then((result) => {
    console.log('Got result', result);
    return Promise.all([RNFS.stat(result[0].path), result[0].path]);
})
    .then((statResult) => {
        console.log('stat result',statResult);
        if(statResult[0].isFile()){
            return RNFS.readFile(statResult[1], 'utf8');
        }
        return 'no file';
    })
        .then((contents) => {
            console.log('Got Contents',contents);
        })
.catch((err) => {
    console.log(err.message, err.code);
})

我正在获取 MainBundlePath 的路径文件,但没有获取本地存储的任何其他文件/文件夹。

4

2 回答 2

7

回答我自己的问题。我终于能够使用 react-native-fs 库访问存储在 android 上的任何文件。

在给定常量列表中尝试了ExternalStorageDirectoryPath 。

下面是代码(由 react-native-fs git repo 提供):

RNFS.readDir(RNFS.ExternalStorageDirectoryPath)
.then((result) => {
console.log('GOT RESULT', result);
return Promise.all([RNFS.stat(result[0].path), result[0].path]);
})
.then((statResult) => {
if (statResult[0].isFile()) {
return RNFS.readFile(statResult[1], 'utf8');
}
return 'no file';
})
.then((contents) => {
console.log(contents);
})
.catch((err) => {
console.log(err.message, err.code);
});
于 2017-11-19T14:16:15.070 回答
3

我遇到过同样的问题。我认为您必须使用"RNFS.DocumentDirectoryPath",因为您没有对 MainBundle 的完全访问权限。

于 2017-11-09T08:47:26.603 回答