在 vue 项目中使用 blob 下载 excel(.xlsx) 和 FileSaver.js 已损坏

Downloading excel(.xlsx) with blob and FileSaver.js in vue project getting coruppted

我正在尝试通过在我的 Vue 项目中发送一个 Api 请求来下载文件,并且使用响应数据我正在尝试使用 blob 和 FileSaver.js

来保存文件
sendAjaxCall.then(response => {
      let file = new Blob([response.data], {type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'})
      FileSaver.saveAs(file, 'Export2.xlsx')
}

但是我无法打开文件,文件已损坏。

试试这个

     return Vue.axios.get(`api/excel_sheet`, {
        responseType: 'blob',
      }).then(response => {
      FileSaver.saveAs(response.data, 'Export2.xlsx')
};

你需要指定响应类型为blob