我希望我的 RN 应用程序能够在没有互联网连接的情况下使用。从 API 我收到以下类型的图像:
interface ApiImage {
url: string;
updatedAt: Date;
}
所以我的目标是下载图像并将其存储在设备上,以便离线使用。问题是大多数解释/教程/堆栈溢出帖子建议使用未维护的rn-fetch-blob库。也不维护react -native-fs和react-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 的有效方法是什么。