|
发表于 2016-11-13 16:29:51
|
显示全部楼层
使用楼主的案例在官方收录之前,通过探索,图片上传假死,卡慢的解决办法,与大家分享
上传的图片太大,如果把分辨率做得比较大,那么要上传到后台的数据就很大,
比如本人上传分辨率为1000*500,上传的数据就有1.5M左右,造成客户端假死30s左右,有时候由于网络原因,造成上传不成功
原因分析:
这个地方:var data = result.toDataURL();
将HTML5 Canvas的内容保存为图片主要思想是借助Canvas自己的API - toDataURL()来实现
而toDataURL(type, ratio)函数,参数type在image/png,image/jpeg,image/svg+xml等 MIME类型中选择(可以不填,默认是image/png)。如果是type = “image/jpeg”,可以有第二个参数,如果第二个参数ratio的值在0-1之间,则表示JPEG的质量等级,否则使用浏览器内置默认质量等级。
toDataURL()如果不填参数,那么默认是image/png,这个格式的图片数据量是很大的,
解决办法
使用:result.toDataURL("image/jpeg", 0.8),使用image/jpeg格式,即使不压缩,分辨率1000*500的图片数据在250K左右,是原来图片大小1/5! get! |
|