1.判断返回是否blob数据流
downLoadTemplate() {
downloadmodel(函数体).then(res => {
var _this = this
if (res.data.type.includes('application/json')) {
const reader = new FileReader()
reader.onload = function () {
const res = reader.result
const result = JSON.parse(res)
if (result.code == 0) {
_this.$message.success(result.message)
} else {
_this.$message.error(result.message)
}
}
reader.readAsText(res.data)
} else {
SaveFile(res.data,名称+后缀)
}
})
},
2.SaveFile
export const SaveFile = (data, fileName) => {
let index = fileName.lastIndexOf('.')
let ss = fileName.substr(index + 1) //文件后缀
let blob = new Blob([data])
if (window.navigator.msSaveOrOpenBlob) {
navigator.msSaveBlob(blob, fileName)
} else {
var link = document.createElement('a')
link.href = window.URL.createObjectURL(blob)
link.download = fileName
link.click()
window.URL.revokeObjectURL(link.href)
}
}
本文介绍了如何在JavaScript中处理Blob数据流。首先通过downLoadTemplate函数判断响应数据是否为Blob类型,如果是JSON则进行解析并显示消息,否则调用SaveFile函数进行文件保存。SaveFile函数利用Blob对象和创建的a标签实现文件的下载操作。

1510

被折叠的 条评论
为什么被折叠?



