转换文件时超出最大调用堆栈大小

maximum call stack size exceeded on converting file

我正在使用

将大字节数组转换为字符串

 var arrayBuffer = e.target.result,
          array = new Uint8Array(arrayBuffer);
 binaryString = String.fromCharCode.apply(null, array);

这里e.target.result是一张图片。它工作正常,但如果图像尺寸更大,我会得到错误 maximum call stack size exceeded。 我该如何解决这个问题??

提前致谢......

var base64 = btoa(new Uint8Array(arrayBuffer).reduce(
    function (data, byte) {
        return data + String.fromCharCode(byte);
    },
    ''
));