我正在尝试下载加密图片并在Javascript网络应用程序中使用RNcryptor解密它们并将它们放在我的应用程序的html中。一切都很完美,除非图片尺寸较大并导致超出调用堆栈。
当往返于Iphone等设备时不会发生此错误,但当我尝试将它们发送到网络应用时,我从Iphone 6+中收到此错误但没有其他设备
这是我用来将字节数组转换为base64字符串的函数:
function encode(data)
{
var str = String.fromCharCode.apply(null,data);
return btoa(str).replace(/.{76}(?=.)/g,'$&\n');
}
是否有更多的调用堆栈转换数据的有效方法?如果有必要,我愿意牺牲速度。
答案 0 :(得分:0)
仅在Iphone 6上发生这种情况的原因(我认为主要是使用相机拍摄的照片)是因为您发送的文件很大。由于图像质量的原因,旧的型号Iphone(如5或4)可能不会出现此错误。
我要解决这个问题的方法是在你的应用程序中,图片最初被编码并放在数据库中,我会在这之前调整大小。