技术调研前端压缩
mage-conversion 【 对html5 依赖、window.File】等 对IE和低版本不支持。
但是可以实现 指定文件大小的压缩【递归】对低版本支持不是友好。指定chrome 是可以的。
这个方法是 对文件大小进行一次性处理。 不考虑递归
js-sdk/compress.ts at master · qiniu/js-sdk · GitHub
正常思路。 防止页面性能假死【递归多次】。
对传输的图片 大小做基本限制。例如 目标是 5M 那么20M则为压缩前的最大。
两种方案:
方案1:
每次 0.5。0。5 限制
方案2:
动态计算 缩放的比例
例如 20M 则压缩比例为 0.25。因为 20*0.25 == 5M 为了防止部分误差建议使用0.2
例如 10M 则压缩比例为 0.5 因为 10*0.5 == 5M 为了防止部分误差建议使用0.4
写一个枚举区间
【18-20M】比例【0.2】
【16-18M】比例【0.3】
【14-16M】比例【0.35】
.......
【5-8M】比例【0.6】
为了提高上传速度 除了压缩上传之外。 可以使用 分片上传
将文件切割为10份 进行分片。
后端也可以启用CDN加速 oss 进行就近服务存储和分发。