Javascript 在react native中使用Blob下载文件
由于React nativeJavascript 在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文件系统 裸工作流 在纯工作流上,请按照
v0.54
和ExpoSDK 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、 eFileSystem.documentDirectory+'small.mp4'
。为了保证目录的路径存在,您可以使用文件系统模块本身来创建目录。这样地:
await FileSystem.makeDirectorySync(路径,{mediates:true})代码>。options对象采用intermediates属性,确保如果您试图创建多级目录,它还将为您创建父文件夹(如果不退出)。不确定它是何时添加的,但Expo现在有一个API,可以满足您的需要。