Javascript 在react native中使用Blob下载文件

Javascript 在react native中使用Blob下载文件,javascript,react-native,blob,expo,Javascript,React Native,Blob,Expo,由于React nativev0.54和ExpoSDK v26,现在支持Blob 我正在尝试将URL上的文件下载到我的手机上(如果可能,请在Android上我的下载目录中) 现在我所能找到的就是使用react native fetch blob的现有解决方案,这似乎不再必要了 如果有人能提供一个简短的例子,说明如何在世博会上开始实施这一功能 文件系统 您可以使用文件系统模块下载内容并将其保存在设备上的目录下 装置 管理工作流 $expo安装expo文件系统 裸工作流 在纯工作流上,请按照

由于React native
v0.54
和Expo
SDK v26
,现在支持Blob

我正在尝试将URL上的文件下载到我的手机上(如果可能,请在Android上我的
下载
目录中)

现在我所能找到的就是使用
react native fetch blob
的现有解决方案,这似乎不再必要了

如果有人能提供一个简短的例子,说明如何在世博会上开始实施这一功能 文件系统 您可以使用
文件系统
模块下载内容并将其保存在设备上的目录下

装置
  • 管理工作流
$expo安装expo文件系统

  • 裸工作流
在纯工作流上,请按照说明操作

用法
  • 导入模块
  • import*作为文件系统从“expo文件系统”导入;
    
  • 创建一个可恢复的下载
  • 使用异步/等待

    wait FileSystem.downloadsync(URI、文件URI、选项);
    
    使用承诺

    FileSystem.downloadsync(
    'http://techslides.com/demos/sample-videos/small.mp4',
    FileSystem.documentDirectory+'small.mp4'
    )
    .然后({uri})=>{
    log('已完成下载到',uri);
    })
    .catch(错误=>{
    控制台错误(error);
    });
    
    注 请记住,为了保存/存储下载的内容,您需要传递一个有效的目录路径/uri。i、 e
    FileSystem.documentDirectory+'small.mp4'
    。为了保证目录的路径存在,您可以使用文件系统模块本身来创建目录。这样地:
    await FileSystem.makeDirectorySync(路径,{mediates:true})。options对象采用intermediates属性,确保如果您试图创建多级目录,它还将为您创建父文件夹(如果不退出)。

    不确定它是何时添加的,但Expo现在有一个API,可以满足您的需要。