export function saveAs(blob, filename, mimeType) {
if (!(blob instanceof Blob)) throw new Error('数据流不是blob!')
if (blob.type === 'text/plain') {
const reader = new FileReader
reader.readAsText(blob, 'utf-8')
reader.onload = function () {
messages.error(reader.result)
}
return
}
mimeType && (blob = new Blob([blob], { type: mimeType }))
if (window.navigator.msSaveOrOpenBlob) {
navigator.msSaveBlob(blob, filename)
} else {
const link = document.createElement('a')
link.href = window.URL.createObjectURL(blob)
link.download = filename
link.style.display = 'none'
document.body.appendChild(link)
link.click()
document.body.removeChild(link)
window.URL.revokeObjectURL(link.href)
}
}
用法
saveAs(res, '文件名字', '文件类型')
接口定义
//文件批量下载
export function 方法名(json) {
return request({
responseType: 'blob',//blob格式
url: url,
method: 'post',
data: json
})
}