开发过程中,经常会遇到点击按钮下载文件的需求,一般有三种情况:
- 后端返回数据,前端生成文件,适用于数据量少并且文件不要求格式,多用于简单Excel
- 后端返回地址,前端访问地址直接下载,此方法最方便
- 后端返回数据流,前端将数据流进行转化并下载
这里说的就是第三种方法,让我们开始吧
- 首先,需要安装downloadjs
npm install downloadjs --save
- 在文件中引入
import download from 'downloadjs'
- 在获取文件流的接口中添加配置
...
method: 'get',
responseType: 'blob'
...
- 在下载的方法中调用download
//res是后台返回的文件流
download((new Blob([res])), 'XXX.pdf', 'application/pdf')
这样,即可完成文件流转换为PDF并成功下载