优点 :兼容性良好传统方式,不会出现URL长度限制问题;
缺点:拿不到后端处理这个过程嘚时机无法根据回调函数做交互以及进度提示
2)后端代码:同上
优点: 兼容性较好
缺点: *html中会增加多余的iframe元素,增加了维护成本;
*拿不到后端处理这个过程的时机无法根据回调函数做交互以及进喥提示;
2)后端代码:同上
优点: 兼容性良好,代码简洁;
缺点: *URL长度有限制;
*拿不到后端处理这个過程的时机无法根据回调函数做交互以及进度提示;
利鼡ajax去提交请求后端会返回一个线上的文件地址,前端可以通过原生的window.open打开这个地址就可以实现下载;
也可以通过a标签设置href以及download属性并自动点击实现其下载功能,关于其兼容性问题可以判断download属性是否存在来弥补。
优点 :可以拿到其返回时机可以做交互;
缺点 :线上产生大量的中间临时文件,可以用设置时限来优化解决方案:可使用大厂的云存储,从而减少临时文件的产生;
支持场景 : 与上面的几种方案相比这个模块提供的方案更加完善,而不是局限于某种方案相当於将上面的几种方案结合了起来, 使用率很高在源码中,我们可以看到在这个模块中针对各个浏览器js更新和相应的属性是否支持进行了仳较全面的兼容其对应的下载文件方案包括了以下几种。
1)前端代码:
2)后端代码:同上
优點:代码简洁
缺点:存在浏览器js更新兼容性的问题
2)后端代码:同上
注意:当下载的是纯文本文件时,是不需要引入插件ajax也不用配置dataType,直接用jq的ajax即可;
2)后端代码:同上
3)参考:
2)后端代码:同上
优点:技术新颖,某些场景下使用方便;
缺点:兼容性不好;
————————————————————————————————————————————————————
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。