我正在使用加载API图像的应用程序。该应用程序的要求是将这些图像离线存储在基于SQLLITE的应用数据库中。我认为,将图像转换为base64字符串&我很容易显示图像。
我以前使用过RN-Fetch-Blob库,但Expo不支持这一点。所以我正在寻找一种方法,但没有找到任何东西。
我尝试了此库反应 - 内图像base64
但是它不起作用
ImgToBase64.getBase64String('http://i.imgur.com/XP2BE7q.jpg')
.then(base64String => console.log(base64String))
.catch(err => console.log(err));
有人告诉我如何将图像转换为expo中的base64?
尽管这没有回答您的问题,但您可能需要考虑将图像存储为blob类型,并在sqlite db中。您可以在此处查看一些示例:https://medium.com/@ericmorgan1/upload-images-to-firebase-firebase-in-expo-c4a7d4c46d06
这个想法是,使用Expo,我们可以使用ImagePicker获取URI,然后使用fetch()
API检索BLOB数据。
获取斑点数据后,我们可以将其存储到我们的sqlite db中。
示例:
const imageUrl = 'http://i.imgur.com/XP2BE7q.jpg';
const response = await fetch(imageUrl);
// This will be the blob data that you will have to store inside your SQLite DB
const blob = await response.blob();