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

时间:2019-10-23 14:57:17

标签: android react-native react-native-android react-native-fs

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

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"

顺便说一句,我是否请求正确的许可?

PermissionsAndroid.PERMISSIONS.READ_EXTERNAL_STORAGE 
PermissionsAndroid.PERMISSIONS.WRITE_EXTERNAL_STORAGE

谢谢您的帮助

1 个答案:

答案 0 :(得分:0)

我已经解决了这个问题,这是一个愚蠢的错误。我忘了在目标路径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);
    });