为什么 React Native RNFS 的 copyFile() 无法访问 iOS 上的现有文件?
Why React Native RNFS's copyFile() cannot access to existing file on iOS?
我正在尝试使用 RNFS 从“/Documents”文件夹(在 ios 模拟器上)访问和复制文件,但是 .exists() 可以找到该文件,.copyFile() returns 错误为 "The file 'temp.jpg' doesn't exists"
为什么会发生这种情况?
这是我的源文件路径(我也可以用图像组件访问它):
添加 "file://" 到路径也不起作用。
/Users/myusername/Library/Developer/CoreSimulator/Devices/D305Z9A4-6C67-4DFE-A07D-1EF4D0302B87/data/Containers/Data/Application/B933EF45-391F-4882-986F-92B5430823D0/Documents/temp.jpg
这是我的代码片段,newlyCroppedImagePath
是上面的路径。 exists() returns 结果正确但 .copyFile() returns "doesn't exists"
RNFS.exists(newlyCroppedImagePath)
.then((success) => {
console.log('File Exists!'); // <--- here RNFS can read the file and returns this
})
.catch((err) => {
console.log("Exists Error: " + err.message);
});
RNFS.copyFile(newlyCroppedImagePath, tmpFilePath)
.then((success) => {
console.log('file moved!');
})
.catch((err) => {
console.log("Error: " + err.message); // <--- but copyFile returns "doesn't exists" error for temp.jpg
});
在
上实现
RNFS.exists(newlyCroppedImagePath).then((success) => {
console.log('File Exists!'); // <--- here RNFS can read the file and returns this
})
并不意味着该文件存在。
因为 exists() returns 一个 Promise,if 条件将永远为真。
尝试以下方法
RNFS.exists(filePath).then((status)=>{
if(status){
console.log('Yay! File exists')
} else {
console.log('File not exists')
}
})
此外,请使用RNFS.readDir()检查目录中的可用文件,以检查您的文件是否已提交。
参考
https://github.com/itinance/react-native-fs#readdirdirpath-string-promisestring
我正在尝试使用 RNFS 从“/Documents”文件夹(在 ios 模拟器上)访问和复制文件,但是 .exists() 可以找到该文件,.copyFile() returns 错误为 "The file 'temp.jpg' doesn't exists"
为什么会发生这种情况?
这是我的源文件路径(我也可以用图像组件访问它):
添加 "file://" 到路径也不起作用。
/Users/myusername/Library/Developer/CoreSimulator/Devices/D305Z9A4-6C67-4DFE-A07D-1EF4D0302B87/data/Containers/Data/Application/B933EF45-391F-4882-986F-92B5430823D0/Documents/temp.jpg
这是我的代码片段,newlyCroppedImagePath
是上面的路径。 exists() returns 结果正确但 .copyFile() returns "doesn't exists"
RNFS.exists(newlyCroppedImagePath)
.then((success) => {
console.log('File Exists!'); // <--- here RNFS can read the file and returns this
})
.catch((err) => {
console.log("Exists Error: " + err.message);
});
RNFS.copyFile(newlyCroppedImagePath, tmpFilePath)
.then((success) => {
console.log('file moved!');
})
.catch((err) => {
console.log("Error: " + err.message); // <--- but copyFile returns "doesn't exists" error for temp.jpg
});
在
上实现RNFS.exists(newlyCroppedImagePath).then((success) => {
console.log('File Exists!'); // <--- here RNFS can read the file and returns this
})
并不意味着该文件存在。
因为 exists() returns 一个 Promise,if 条件将永远为真。
尝试以下方法
RNFS.exists(filePath).then((status)=>{
if(status){
console.log('Yay! File exists')
} else {
console.log('File not exists')
}
})
此外,请使用RNFS.readDir()检查目录中的可用文件,以检查您的文件是否已提交。
参考 https://github.com/itinance/react-native-fs#readdirdirpath-string-promisestring