2

我希望我的 RN 应用程序能够在没有互联网连接的情况下使用。从 API 我收到以下类型的图像:

interface ApiImage {
  url: string;
  updatedAt: Date;
}

所以我的目标是下载图像并将其存储在设备上,以便离线使用。问题是大多数解释/教程/堆栈溢出帖子建议使用未维护的rn-fetch-blob库。也不维护react -native-fsreact-native-fetch-blob 。那么从 URL 获取图像并将其存储在设备(IOS 和 Android)上的最佳替代方法是什么?

编辑:

实际上,要获取图像作为数据 url,我使用以下代码:

fetch(url, {
  method: 'GET',
})
  .then((response) => response.blob())
  .then((blob) => {
    const reader = new FileReader();
    reader.readAsDataURL(blob);
    reader.onload = () => {
      this.setState({dataurl: reader.result.toString()});
    };
  });

在我的类组件的渲染功能中,我使用条件渲染,如{this.state.dataurl && <Image source={{uri: this.state.dataurl}} style={{ height: 200, flex: 1 }}/>}

它工作正常!

现在的问题是我不确定存储接收到的 blob 的有效方法是什么。

4

0 回答 0