Мне нужно было получить файлы из пользовательской папки, которую я создал с помощью моего приложения rncamera roll, я использовал response-native-fs для доступа к папке, но не смог получить файлы, хотя я правильно указал имя папки, но я получить возможное отклонение необработанного обещания (id: 7): Ошибка: папка не существует. Как я могу получить доступ к этой папке?
Даже когда я удалил имя папки RNFS.readDir (RNFS.ExternalStorageDirectoryPath), чтобы проверить результат console.log, я получил ошибку «isFile не является функцией».
Что не так с этим кодом и как их исправить.
UNSAFE_componentWillMount() {
RNFS.readDir(RNFS.ExternalStorageDirectoryPath+"myApp Videos")
.then((result) => {
console.log('GOT RESULT', result);
return Promise.all([RNFS.stat(result[0].path), result[0].path]);
})
.then((statResult) => {
let videos = []
var allowedExtensions = /(\.avi|\.mp4|\.mov|\.wmv|\.avi)$/i;
statResult.forEach(item => {
if (item.isFile() && !allowedExtensions.exec(item.originalFilepath)) {
videos.push(item)
}
});
console.log(videos)
})
}
setIndex = (index) => {
if (index === this.state.index) {
index = null
}
this.setState({ index })
}
render() {
return (
<View style={styles.container}>
<ScrollView
contentContainerStyle = {styles.scrollview}
{
...this.state.videos && this.state.videos.length > 0 && this.state.videos.map((p, i) => {
const isSelected = i === this.state.index;
const divide = isSelected && this.share === true ? 1 : 3;
return(
<Video
source={{uri: videos}}
style={{opacity: i === this.state.index ? 0.5 : 1, width: width/divide, height: width/divide}}
key={i}
underlayColor='transparent'
onPress={() => this.setIndex(i)}
ref={ref => {
this.player = ref;
}} // Store reference
onError={this.videoError} // Callback when video cannot be loaded
/>
)
})
}
>
</ScrollView>
</View>
);
}