首页 > 解决方案 > 在 NodeJS 中拆分大 base 64 数据崩溃

问题描述

嘿,我正在尝试将split一个 400mb 的文件(缓冲区变成一个字符串)分成 4 个块。NodeJS 因此错误而崩溃:

“无效的数组长度分配失败 - JavaScript 堆内存不足”

const base64Data = Buffer.from(buffer, "binary").toString("base64");

console.log(base64Data.length); // length = 436875456

console.log(base64Data.split("")); // results in crash

我理解错误,我只是找不到从长字符串创建数组并将其分成块的解决方案。

提前谢谢了

标签: javascriptnode.jssplitbase64

解决方案


可能这可以帮助你。您只需要添加 [1]。如果您还有问题,请告诉我。

console.log(base64Data.split("")[1]);

例如这里的结果是一个 64 位的数据。

var result = 
"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAAAAABX3
VL4AAAACXBIWXMAAAsTAAALEwEA mpwYAAAAB3RJTUUH3gYSDCUgSze0AAAAAA5JREFUCNdjrGJgYmAAAAJ0AH4SDHVIAAAAAElFTkSuQmCC";

alert(result.split(',')[1]);
alert(result.substr(result.indexOf(',') + 1));

推荐阅读