js下载后端返回的文件

文件流下载

后端返回文件流形式,前端下载

// res 为请求返回的数据对象

const file_data = res.data // 后端返回的文件流

const blob = new Blob([file_data])
const href = window.URL.createObjectURL(blob) // 创建下载的链接
const file_name = decodeURI(res.headers['content-disposition'].replace('attachment;filename=', ''))
console.log(file_name) // 从请求头获取文件名
const downloadElement = document.createElement('a')
downloadElement.style.display = 'none'
downloadElement.href = href
downloadElement.download = file_name // 下载后文件名
document.body.appendChild(downloadElement)
downloadElement.click()
document.body.removeChild(downloadElement) // 下载完成移除元素
window.URL.revokeObjectURL(href) // 释放掉blob对象

 base64格式下载

后端返回base64格式,前端下载

// res 后端返回的文件base64

const link = document.createElement('a')
link.href = 'data:application/octet-stream;base64,' + res
link.download = '下载的文件名'
link.click()

你可能感兴趣的:(javascript,javascript,开发语言,前端)