当前位置: 首页 > 知识库问答 >
问题:

React-Native:将图像网址转换为base64字符串

闾丘博
2023-03-14

我正在构建一个react原生应用程序,它需要以base64字符串格式存储图像,以实现离线查看功能。

什么库/函数会给我最好的结果来存储图像为Bas64字符串?假设我的网址是“http://www.example.com/image.png”。

另外,在将其存储为字符串之前,是否需要进行http请求以获取它?我的逻辑是肯定的,但在react native中,您可以在

在反应原生中做到这一点的最佳选择是什么?

共有3个答案

汤飞羽
2023-03-14
 ImageEditor.cropImage(imageUrl, imageSize, (imageURI) => {
      ImageStore.getBase64ForTag(imageURI, (base64Data) => {
          // base64Data contains the base64string of the image
      }, (reason) => console.error(reason));
 }, (reason) => console.error(reason));
唐彬炳
2023-03-14

有一个更好的方法:安装这个react-native-fs,如果你还没有的话。

import RNFS from 'react-native-fs';

RNFS.readFile(this.state.imagePath, 'base64')
.then(res =>{
  console.log(res);
});
宰父浩漫
2023-03-14

我使用rn fetch blob,基本上它提供了很多文件系统和网络功能,使得数据传输非常容易。

已弃用react-native-get ch-blob

import RNFetchBlob from "rn-fetch-blob";
const fs = RNFetchBlob.fs;
let imagePath = null;
RNFetchBlob.config({
  fileCache: true
})
  .fetch("GET", "http://www.example.com/image.png")
  // the image is now dowloaded to device's storage
  .then(resp => {
    // the image path you can use it directly with Image component
    imagePath = resp.path();
    return resp.readFile("base64");
  })
  .then(base64Data => {
    // here's base64 encoded image
    console.log(base64Data);
    // remove the file from storage
    return fs.unlink(imagePath);
  });

源项目Wiki

 类似资料:
  • 问题内容: 我正在尝试使用jQuery插件即crop.js裁剪/调整用户个人资料图像的大小,该插件通过ajax将用户图像作为base64发送给我的控制器 但我无法解码此base64 字符串作为图像,你们可以指导我如何将base64字符串作为图像保存在服务器上吗? 问题答案: 假设有几件事,您知道输出文件名是什么,并且您的数据以字符串形式出现。我确定您可以修改以下内容以满足您的需求: 请注意,这只是

  • 我正在尝试使用jquery插件裁剪/调整用户配置文件图像的大小,即crop.js,它将用户图像作为base64通过ajax发送到我的控制器

  • 问题内容: 我正在尝试将base64图像字符串转换为图像文件。 使用以下代码将其转换为图像文件: 但是我遇到了错误,这是怎么了? 问题答案: 问题是编码内容中包含该内容。当base64函数对其进行解码时,这将导致无效的图像数据。像这样在解码字符串之前先删除函数中的数据。

  • 问题内容: 我将图像转换为 base64 字符串,并将其从android设备发送到服务器。现在,我需要将该字符串改回图像并将其保存在数据库中。 有什么帮助吗? 问题答案: 尝试这个:

  • 然而,当我这样做的时候,什么也没有出现。我在logcat中没有任何错误。我做错了什么? 谢谢

  • 我想把base64编码的字符串转换成位图,这样我就可以把它放在图像视图中,但是得到的错误像