前端把后端返回的文件流转化成PDF文件并实现下载

1,598 阅读1分钟

开发过程中,经常会遇到点击按钮下载文件的需求,一般有三种情况:

  • 后端返回数据,前端生成文件,适用于数据量少并且文件不要求格式,多用于简单Excel
  • 后端返回地址,前端访问地址直接下载,此方法最方便
  • 后端返回数据流,前端将数据流进行转化并下载

这里说的就是第三种方法,让我们开始吧

  1. 首先,需要安装downloadjs
npm install downloadjs --save
  1. 在文件中引入
import download from 'downloadjs'
  1. 在获取文件流的接口中添加配置
...
method: 'get',
responseType: 'blob'
...
  1. 在下载的方法中调用download
//res是后台返回的文件流
download((new Blob([res])), 'XXX.pdf', 'application/pdf')

这样,即可完成文件流转换为PDF并成功下载