【问题标题】:React Native Expo convert URL image to Base64React Native Expo 将 URL 图像转换为 Base64
【发布时间】:2019-07-12 15:09:57
【问题描述】:

我正在开发一个从 api 加载图像的应用程序。该应用程序的要求是将这些图像离线存储在基于 sqllite 的应用程序数据库中。我认为唯一的方法是将图像转换为 base64 字符串 & 显示图像对我来说很容易。

我之前使用过 RN-Fetch-Blob 库,但 expo 不支持。所以我正在寻找一种方法来做到这一点,但我没有找到任何东西。

我试过这个库 react-native-image-base64

但它不起作用

ImgToBase64.getBase64String('http://i.imgur.com/XP2BE7q.jpg')
        .then(base64String => console.log(base64String))
        .catch(err => console.log(err));

谁能告诉我如何在 Expo 中将图像转换为 base64?

【问题讨论】:

    标签: reactjs typescript react-native ecmascript-6 expo


    【解决方案1】:

    虽然这不能回答您的问题,但您可能需要考虑将图像作为 BLOB 类型存储在您的 sqlite 数据库中。您可以在这里查看一些示例:https://medium.com/@ericmorgan1/upload-images-to-firebase-in-expo-c4a7d4c46d06

    想法是,使用 Expo,我们可以使用 ImagePicker 获取 URI,然后使用 fetch() API 检索 BLOB 数据。

    一旦获得 BLOB 数据,我们就可以将其存储到 SQLite 数据库中。


    例子:

    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();
    

    【讨论】:

    • 你能详细说明一下吗,Firebase的例子太离题了
    • firebase 与否,检查链接没关系,让我更新我的答案。
    猜你喜欢
    • 2019-06-02
    • 2022-10-17
    • 2016-04-26
    • 2021-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-13
    • 1970-01-01
    相关资源
    最近更新 更多