js实现txt,png文件下载 而不是浏览器预览

当我们在项目中需要下载时 使用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)
    })
  }

你可能感兴趣的:(js,url)