使用a标签下载后端返回的流,后端返回的文件名没有后缀,前端下载后文件添加了.json后缀

119 阅读1分钟
axios({
  url,
  methods,
  headers,
  params,
  response: "blob"
}).then(response => {
  if(response.data) {
    let blob = new Blob([response.data], {
      type: "application/json;charset=utf-8"
    })

    if(res.data.type == "application/octet-stream") {
      let link = document.createElement("a")
      link.href = window.URL.createObjectURL(blob)
      link.download = title;
      link.click();
      window.URL.revokeObjectURL(link.href)
    }
  }
})

后面发现是因为blob的type设置的问题,将type改为application/octet-stream,则不显示文件名后缀了