下载的一些前端代码模板,仅供参考!
var downloadElement = document.createElement('a')
let blob = new Blob([res.data], { type: 'application/vnd.ms-excel' }) // type 也可以定义.zip文件 vnd.ms-excel 替换 zip 即可 new Blob 里数组 根据返回的值来定义
var href = window.URL.createObjectURL(blob)
downloadElement.href = href
let fileName = decodeURI(res.headers['content-disposition'].split(';')[1].split("filename*=utf-8''")[1]) // 获取下载文件名 通过content-disposition里获取查看(前提是返回的值里有) 如果filename 后面跟有utf-8需要在这里加上,如果没有 则 filename = ' '
downloadElement.download = fileName
// 当然 名字也可自己来定义
// var d = new Date()
// let youWant =d.getFullYear() +'-' + (d.getMonth() + 1) +'-' + d.getDate() +' ' +d.getHours() +':' + d.getMinutes() +':' +d.getSeconds()
document.body.appendChild(downloadElement)
downloadElement.click()
document.body.removeChild(downloadElement)
window.URL.revokeObjectURL(href)
这只是其中一步,总要的一步是接口的定义
responseType: 'blob',
responseType : 'ArrayBuffer',
// 定义文件流的类型
// blob数据类型 转成二进制的数据
// ArrayBuffer 是 JavaScript 操作二进制数据的一个操作 也称为二进制数组