string转blob

function download(res, fileName) {
    const content = res.data.flow;
    // const name = decodeURI(res.headers['content-disposition'].split('filename=')[1]);
    // const blob = new Blob(content, {type: 'application/vnd.ms-excel;charset=utf-8'}); // 创建一个类文件对象:Blob对象表示一个不可变的、原始数据的类文件对象
    const blob = str2Blob(content, 'application/vnd.ms-excel;charset=utf-8'); // 创建一个类文件对象:Blob对象表示一个不可变的、原始数据的类文件对象
    const url = window.URL.createObjectURL(blob);// URL.createObjectURL(object)表示生成一个File对象或Blob对象
    let dom = document.createElement('a');// 设置一个隐藏的a标签,href为输出流,设置download
    dom.style.display = 'none';
    dom.href = url;
    dom.setAttribute('download', name || fileName);// 指示浏览器下载url,而不是导航到它;因此将提示用户将其保存为本地文件
    document.body.appendChild(dom);
    dom.click();
}

function str2Blob(str, mime) {
    var arr = str.split(',')
        bstr = atob(arr[0]), n = bstr.length, u8arr = new Uint8Array(n);
    while (n--) {
        u8arr[n] = bstr.charCodeAt(n);
    }
    return new Blob([u8arr], { type: mime });
}

const data = {
    "retCode": "000000",
    "retMessage": "操作成功",
    "data": {
        "flow": "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"
    }
}

window.onload = function() {
    download(data, '123.xls');
}
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值