admin管理员组

文章数量:1535099

2018年10月26日更新

评论区大家提出了很多留存的问题,比如说不能兼容IE11,不能下载txt和video文件等问题。txt和video的下载问题我还没有证实。不过这些意见都十分可贵。

另外还有人给出了一系列的解决方案,比如利用jszip实现文件批量打包下载;使用fileSaver.js + Blob的方式进行文件下载等。虽然我还没来得及去一一验证,但是很感谢大家给出的宝贵方案,也为浏览到本篇文章的读者们提供了一条解决问题的思路。

虽然让人难以置信,但是我刚才试了一下,直接对location赋值的方式进行文件下载,实验结果竟然相当好,不但在IE11中能够正常下载,在Safari中也可以正常下载。

具体实现方式如下:

window.location.href = yourFilePath
复制代码

这里的yourFilePath是调用后台文件下载的接口地址。后台在接口中返回文件流供前端下载。

其实我在下面所说的downLoadTemplateURL也是指的后台文件下载的接口地址。一开始表述的不太清晰,可能会造成一部分读者的误解,在此特地声明一下。

本文标签: 浏览器主流文件方案Safari