【问题标题】:XLSX file corrupted while downloading using vue js and axios使用 vue js 和 axios 下载时 XLSX 文件损坏
【发布时间】:2020-07-29 22:51:37
【问题描述】:

您好,我正在尝试使用 axios 为 excel 文件创建下载,但我无法下载并打开它,请问您有什么问题吗??

    const blob = new Blob([result.data], { type: 'application/vnd.ms-excel' });

                            const url = URL.createObjectURL(blob)
                            const link = document.createElement('a')
                            link.href = url
                            link.setAttribute('download', 'atetes.xlsx')
                            document.body.appendChild(link)
                            link.click()

我尝试了很多解决方案,但我总是得到一个损坏的文件

【问题讨论】:

    标签: javascript c# excel vue.js axios


    【解决方案1】:

    我也遇到了同样的问题并花了足够的时间,原因你会注意到响应对象包含无效的数据,所以前端解析出错了,所以在我的例子中,解决方案非常简单。在进行 API 调用时,我添加了 responseType 作为数组缓冲区以使其工作:

    return await client({ method: "get", url: `[YOUR API ENDPOINT]`,
          responseType: "arraybuffer",
          headers: {
            "Authorization": token,
            "Accept": "application/octet-stream",
          }});
    

    【讨论】:

      猜你喜欢
      • 2019-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-05
      • 1970-01-01
      • 1970-01-01
      • 2019-11-29
      相关资源
      最近更新 更多