我正在尝试使用以下代码将文件复制到另一个外部文件夹的简单代码:
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);