当我们在项目中需要下载时 使用a标签自带的dowmlod属性时,遇到jpg,txt文件并不会直接下载 而是会在浏览器中打开文件。
思路: 将下载地址借助Blob转为二进制 然后使用a标签进行下载
代码:
downloadFile (url) {
console.log(url)
const link = document.createElement('a')
fetch(url).then(res => res.blob()).then(blob => { // 将链接地址字符内容转变成blob地址
link.href = URL.createObjectURL(blob)
// console.log(link.href)
link.download = ''
document.body.appendChild(link)
link.click()
document.body.removeChild(link)
})
}