Bon*_*ott 5 ios firebase react-native
我正在尝试获取已保存在本地并使用Firebase上传的音频文件。我尝试使用react-native-fetch-blob如下:
import RNFetchBlob from 'react-native-fetch-blob'
const fs = RNFetchBlob.fs
但我得到了错误:
Error: file not exists
即使我使用相同的路径,但在存储文件后仍会返回。所以我有:
console.log('Full path is ' + fullPath) // Gives /var/mobile/Containers/Data/Application/2446[...]E1A9/Documents/myfile.mp4
但是当我尝试时
fs.readFile(RNFetchBlob.wrap(fullPath), 'base64').then((data) => ...
我收到“文件不存在”错误。
有人有示例代码读取(二进制)文件作为Blob并使用它,尤其是将其上传到Firebase存储吗?我发现的所有示例都是从外部URL抓取文件。
小智 -1
在iOS平台上,每次访问文件系统时目录路径都会改变。所以如果你需要在iOS上读取文件,你需要先获取dir路径并与它连接文件名。
// fileUri is a string like "file:///var/mobile/Containers/Data/Application/9B754FAA-2588-4FEC-B0F7-6D890B7B4681/Documents/filename"
if (Platform.OS === 'ios') {
let arr = fileUri.split('/')
const dirs = RNFetchBlob.fs.dirs
filePath = `${dirs.DocumentDir}/${arr[arr.length - 1]}`
} else {
filePath = audioDataUri
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
667 次 |
| 最近记录: |