在开发下载功能时,获取到后端返回的二进制流数据如下
解决方法
handleDown () {
const form = new FormData()
form.append('filename', this.filename)
let config = { responseType: 'blob' }
this.$post( '/api/file/download', form, config ).then(res => {
console.log(res)
const blob = new Blob([res])
const filename = 'down.doc'
const alink = document.createElement('a')
alink.download = filename
alink.style.display = 'none'
alink.href = URL.createObjectURL(blob)
document.body.appendChild(alink)
alink.click()
URL.revokeObjectURL(alink.href)
document.body.removeChild(alink)
})
},