- 1.8MB 图片,base64 方式在真实生产环境不可用
- FormData 是官方标准、唯一正确的选择
- 阈值为 50KB:超过此大小必须用 FormData,小于此大小 base64 可嵌入 HTML 减少请求
一句话总结:base64 传大文件是"内存爆炸+体积膨胀+阻塞线程"的三重灾难,FormData 是"零拷贝+流式传输+原生支持"的最优解。
1场景:
原本正常的上传图h5,因为模糊调整压缩系数后,一开始正常后来偶尔反馈不是必现出现超时 同几张图5m 10m压缩后,拿回来后放浏览器也要多次刷新后才能复现
2查看:
一直没看到具体原因,待一次用户裁剪图后就正常上传了,对比查看只有图大小区别; 进一步查看是图大小影响,且这边压缩调整后就正常了
3原因:
接口未知原因最初是base64传图,而不是分开formdata传或只存储图片地址,当图大时有隐患,且浏览器、不同手机浏览器对于base64方式
一个会比原本体积大,虽然传过去都一样
一个也存在本身限制
4处理:
要么减小图体积,要么接口更换图的保存方式