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

标签 javascript vuejs2 savefiledialog filesaver.js

我正在尝试通过在我的 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

关于javascript - 在 vue 项目中使用 blob 和 FileSaver.js 下载 excel(.xlsx) 已损坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48181594/

相关文章:

javascript - Vue 嵌套路由不显示其组件并且没有错误

python - 如何写入我使用 filedialog.asksaveasfile 选择的文件?

C# - 将多行文本框保存到文本文件

javascript - getJSON 正在添加之前的 URL。 jQuery

javascript - 单击 UL LI 时无法更改 DIV 文本

javascript - jQuery 是否清空通过 addEventListener 附加的分离监听器?

javascript - Ninja Forms 3.0 On Form Load javascript 事件

javascript - 如何将 vue 项目提供给网络上的其他计算机

vue.js - 晦涩的错误说我的组件名称以零开头

savefiledialog - 使用VW7.8/Jun789 JunFileDialog进行文件保存,下次要记住选择的目录