在React Native中将base64转换为Blob时出现获取错误

3

当我在React Native上运行以下代码将base64转换为Android上的blob时出现此错误。

let url = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgA...';
let res = await fetch(url);
let blob = await res?.blob();

enter image description here


你能解决这个问题吗? - 4aLifeTime
我也遇到了同样的问题,请帮忙。 - sabarikobagapu
2个回答

1
如果你想将Base64转换为blob,可以使用以下方法:

安装下面的包

npm install buffer --save

首先将您的Base64编码转换为字节数组

import { Buffer } from "buffer";


const base64 = 'iVBORw0KGgoAAAANSUhEU ....'
let your_bytes = Buffer.from(base64, "base64");

然后将其转换为Blob:
const blob = new Blob([your_bytes], { type: 'YOUR TYPE' })

0
你使用的是哪个 react-native-version 版本?
const url = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgA...';

const getBlob = async (uri) => {
  const res = await fetch(uri);
  return res.blob();
};

const blob = await getBlob(url);

应该可以工作


React Native 版本 0.64.2 - Heisenberg
1
为什么它在IOS上可以工作,但在Android上却不能工作? - Heisenberg
1
由于iOS和安卓之间的JavascriptCore差异。请在此处阅读https://reactnative.dev/docs/javascript-environment - Pasindu Dilshan
@Heisenberg,你找到任何解决方案了吗? - Shawal Ahmad Khan
@PasinduDilshan,你找到任何解决方案了吗? - sabarikobagapu
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接