当前位置:   article > 正文

vue项目 无法下载导出的execel文件_vue下载excal无法从网站提取文件

vue下载excal无法从网站提取文件

问题:前端访问导出接口无法直接下载文件,而是输出了文件流
原因:ajax请求只是个“字符型”的请求,即请求的内容是以文本类型存放的。文件的下载是以二进制形式进行的,虽然可以读取到返回的response,但只是读取而已,是无法执行的
解决办法:在页面上添加a标签实现下载
代码如下:

export function _postf(url, params, errorback) {
    return new Promise((resolve, reject) => {
        axios.post(url, params, { responseType: 'blob' })
            .then(res => {
                const aLink = document.createElement("a");
                let blob = new Blob([res], { type: "application/vnd.ms-excel" });
                aLink.href = URL.createObjectURL(blob);
                aLink.download = '导出下载.xlsx';
                aLink.click();
                document.body.appendChild(aLink);

            })
            .catch((error) => {
                reject(error);
            })
    })
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

至此问题解决

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/秋刀鱼在做梦/article/detail/770485
推荐阅读
相关标签
  

闽ICP备14008679号