EISDIR:在React Native文件系统中读取的目录上的非法操作



我正在尝试使用以下代码将文件复制到另一个外部文件夹的简单代码:

RNFS.copyFile(sourcePath, destinationPath)
.then(result => {
console.log('file copied:', result);
})
.catch(err => {
console.log('error: ', err.message, err.code);
});

我已经授予Android.Permission在外部目录中的读写权限,但它仍然返回这个错误:

error:  EISDIR: illegal operation on a directory, read '/storage/emulated/0/' EISDIR

以下是依赖项:

"react": "16.9.0",
"react-native": "0.61.2",
"react-native-fs": "^2.15.2"

BTW我是否请求正确的许可?

PermissionsAndroid.PERMISSIONS.READ_EXTERNAL_STORAGE 
PermissionsAndroid.PERMISSIONS.WRITE_EXTERNAL_STORAGE

感谢提前提供帮助

我已经解决了这个问题,这是一个愚蠢的错误。我忘了在目标路径url:中提到文件名

let sourcePath = "/storage/emulated/0/SourceFolder";
let destinationPath = "/storage/emulated/0/DestinationFolder";
let FileName = 'abc.jpg';
destinationPath = destinationPath +"/"+ FileName;
RNFS.copyFile(sourcePath, destinationPath)  
.then(result => {  
console.log('file copied:', result);
})
.catch(err => {
console.log(err);
});

试试这个,它对我有效。

import {view, StyleSheet, PermissionsAndroid} from from 'react-native';
PermissionsAndroid.request(PermissionsAndroid.PERMISSIONS.WRITE_EXTERNAL_STORAGE);
PermissionsAndroid.request(PermissionsAndroid.PERMISSIONS.READ_EXTERNAL_STORAGE);

相关内容

最新更新