最大调用堆栈大小除外

时间:2016-03-17 17:20:29

标签: javascript ios encryption

我正在尝试下载加密图片并在Javascript网络应用程序中使用RNcryptor解密它们并将它们放在我的应用程序的html中。一切都很完美,除非图片尺寸较大并导致超出调用堆栈。

当往返于Iphone等设备时不会发生此错误,但当我尝试将它们发送到网络应用时,我从Iphone 6+中收到此错误但没有其他设备

这是我用来将字节数组转换为base64字符串的函数:

function encode(data)
{
    var str = String.fromCharCode.apply(null,data);
    return btoa(str).replace(/.{76}(?=.)/g,'$&\n');
}

是否有更多的调用堆栈转换数据的有效方法?如果有必要,我愿意牺牲速度。

1 个答案:

答案 0 :(得分:0)

仅在Iphone 6上发生这种情况的原因(我认为主要是使用相机拍摄的照片)是因为您发送的文件很大。由于图像质量的原因,旧的型号Iphone(如5或4)可能不会出现此错误。

我要解决这个问题的方法是在你的应用程序中,图片最初被编码并放在数据库中,我会在这之前调整大小。

相关问题