使用 vue js 和 axios 下载时 XLSX 文件损坏

Zaa*_*adi 6 javascript c# excel vue.js axios

您好,我正在尝试使用 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()
Run Code Online (Sandbox Code Playgroud)

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

Nom*_*Ali 5

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

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