前端处理后端返回文件问题

 		axios({
                method: 'GET',
                url: 'http://localhost:3000/log/down',
                responseType: 'blob'
            }).then((res) => {
                if (res.data.type == 'application/json') {
                    //错误返回一般为json ,下面的方法为解析blob装华为字符串
                    var reader = new FileReader();
                    reader.onload = function (event) {
                        var content = reader.result;//内容就在这里
                        console.log(content)
                        return content
                    };
                    reader.readAsText(res.data);
                } else {          
                    let data = res.data
                    //将blob对象转化为bolb地址
                    let url = window.URL.createObjectURL(new Blob([data])) //blob:http://localhost:3001/f485bec0-8022-4563-a650-34cd9d7f0bc0
                    //创建a标签
                    let link = document.createElement('a')
                    //隐藏这个标签
                    link.style.display = 'none'
                    //让标签的地址指向创建的url
                    link.href = url
                    //添加下载属性
                    link.setAttribute('download', 'excel.xlsx')
                    // 在body中插入这个标签
                    document.body.appendChild(link)
                    // //执行点击时间
                    link.click()
                    // //移除标签
                    document.body.removeChild(link)
                }
            })
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值