Axios.post(url, {
/*传入的参数*/}, {
responseType: 'blob'} /*设置返回值的类型,这里设置文件流blob的形式*/)
.then(res => {
let blob = new Blob([res.data], {
type: 'application/xlsx;charset=utf-8'/*application/xlsx // 这里写要下载的文件格式;charset=utf-8*/
});
// 获取后端返回的文件名 --> 后端配合response.setHeader("Content-disposition", "attachment; filename=xxxx.xlsx") 设置的文件名
// 注意: 有时候axios返回的res.headers里面可能不包含content-disposition字段
//这是因为默认情况下,header只会暴露Cache-Control、Content-Language、Content-Type、Expires、Last-Modified、Pragma这6个字段
// 此时需要后端设置response.setHeader("Access-Control-Expose-Headers", "Content-Disposition")将content-disposition字段暴露出去
let fileName <
Axios获取后端返回的二进制数据流并下载下来
最新推荐文章于 2024-05-17 13:52:13 发布