iOS Safari崩溃与大型帖子数据表单提交

Mat*_*cum 5 safari html5 canvas ios kineticjs

我有一个HTML5 Canvas元素.我需要将画布图像提交给我的服务器.它在我尝试的所有PC浏览器中都能正常工作,但iOS Safari在日志文件中因内存不足而崩溃.画布图像几乎为500 KB,因为它是950x323 PNG.这是我提交代码的简化版本:

$('#imageJSON').val(JSON.stringify(myCanvas)); //I wrote other JSON stringify code. It works
var d = myCanvas.toDataURL();
$('#imageData').val(d);
$('#myForm').submit();
Run Code Online (Sandbox Code Playgroud)

Safari开始提交,但在提交中崩溃了几秒钟.服务器使用请求获取其他数据,但imageData未完成.我尝试将表单enctype更改为"multipart/form-data",但这没有帮助.

Eri*_*ell 1

您是否尝试过编写一个算法将画布图像分解成块?例如,您可以将画布分成 10-20 个不同的部分,而不是在整个画布上调用 toDataURL()。将每个部分保存为自己的单独图像。当您加载画布时,只需将每个部分组装到画布上即可。这是与数据包或视频缓冲类似的概念。