EISDIR: illegal operation on a directory, read in React Native file system

Irfan Muhammad picture Irfan Muhammad · Oct 23, 2019 · Viewed 7.7k times · Source

I'm trying simple code to copy a file to another external folder using this code:

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

and i have already granted Android.Permission for read and write in external directory but it's still returning this error:

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

here are the dependency:

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

BTW Am i request correct permission ?

PermissionsAndroid.PERMISSIONS.READ_EXTERNAL_STORAGE 
PermissionsAndroid.PERMISSIONS.WRITE_EXTERNAL_STORAGE

Thanks for help in advance

Answer

Irfan Muhammad picture Irfan Muhammad · Oct 25, 2019

I have resolved this issue, It was silly mistake. I forgot to mention name of the file in destination path 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);
    });