首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用react本机在iOS中获取本地文件

使用react本机在iOS中获取本地文件
EN

Stack Overflow用户
提问于 2017-05-11 18:17:55
回答 1查看 1.2K关注 0票数 5

我试图抓取一个已经保存在本地的音频文件,并使用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,并使用它,特别是上传到防火墙存储?我发现的所有示例都是从外部URL抓取文件。

EN

回答 1

Stack Overflow用户

发布于 2017-11-17 02:51:47

在iOS平台上,每次访问文件系统时都会更改目录路径。因此,如果您需要在iOS上读取文件,您需要首先获得dir路径并与其连接文件名。

代码语言:javascript
复制
// 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
}
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43922898

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档