现有下载实现弊端分析
通常文件下载有三种方式,a标签下载,form 表单下载,blob转换url下载,iframe src下载,但上述几种下载存在如下弊端:
- a标签download下载
无法catch error - form表单下载
对于多文件下载,循环下载表单提交,会导致只有最后一个能提交,其他请求被cacel。因为form 表单提交需要时间处理表单数据 - blob转换下载
会先缓存文件(不同浏览器的blob缓存大小不同,超过memory 缓存大小后,会直接缓存到disk, 具体可以参考chrome blob设计文档),对于大文件下载非常不友好,容易让用户误以为下载没有反应。 - iframe src 下载
firefox请求会被阻塞,原因尚未可知
解决方案
jquery.fileDownload.js Library 将会帮你解决以上困扰,使用也是非常简单:
$.fileDownload(url,options).done(res=>{}).fail(err=>{});
文中弊端仅仅在chrome和firefox 下测试得出,如有错漏,欢迎大家指正指出~