h5传图到后台base64超时隐藏限制

28 阅读1分钟
  • 1.8MB 图片,base64 方式在真实生产环境不可用
  • FormData 是官方标准、唯一正确的选择
  • 阈值为 50KB:超过此大小必须用 FormData,小于此大小 base64 可嵌入 HTML 减少请求

一句话总结:base64 传大文件是"内存爆炸+体积膨胀+阻塞线程"的三重灾难,FormData 是"零拷贝+流式传输+原生支持"的最优解。 企业微信截图_17630220391820.png

1场景:

原本正常的上传图h5,因为模糊调整压缩系数后,一开始正常后来偶尔反馈不是必现出现超时 同几张图5m 10m压缩后,拿回来后放浏览器也要多次刷新后才能复现

2查看:

一直没看到具体原因,待一次用户裁剪图后就正常上传了,对比查看只有图大小区别; 进一步查看是图大小影响,且这边压缩调整后就正常了

3原因:

接口未知原因最初是base64传图,而不是分开formdata传或只存储图片地址,当图大时有隐患,且浏览器、不同手机浏览器对于base64方式 一个会比原本体积大,虽然传过去都一样 一个也存在本身限制

4处理:

要么减小图体积,要么接口更换图的保存方式

企业微信截图_17630222575218.png