项目中需要上传大文件(1g左右)
,于是找到了这个 分片上传的例子,目前在chrome
下基本没什么问题了,支持分片上传
、断点续传
、秒传
,可是到ie11
测试时,发现选择一个400m
左右的文件,ie就直接崩溃了,如下:
然后ie浏览器就直接重启。
自己调试了一下,发现比较卡顿的地方是发生在大文件md5
的计算过程中:
md5 = (new SparkMD5.ArrayBuffer()).append(e.target.result).end();
然后又去尝试了一些百度网盘
,发现即便选中超过1g的文件,也不会卡,更不会导致ie崩溃,查了一下,发现他们也是分片上传的。好像没有秒传、断点续传,难道就是这个节省了md5计算导致不卡顿
?
有类似经验的请指点指点!谢谢!!
md5可以通过渐进(Incremental usage)计算得到,不用一下加载整个文件
看一下这里的文档:https://github.com/satazor/js...