上一主题 下一主题
ScriptCat,新一代的脚本管理器脚本站,与全世界分享你的用户脚本油猴脚本开发指南教程目录
返回列表 发新帖

后端返回二进制文件流,前端如何下载文件

[复制链接]
  • TA的每日心情
    开心
    2024-7-16 15:40
  • 签到天数: 276 天

    [LV.8]以坛为家I

    115

    主题

    460

    回帖

    997

    积分

    荣誉开发者

    积分
    997

    荣誉开发者油中2周年卓越贡献生态建设者油中3周年

    发表于 2022-10-26 21:59:49 | 显示全部楼层 | 阅读模式

    注意点:要加 responseType: 'blob' , 传入的是res.data(因为返回res就是乱码,导致刚开始传的是res,结果下载下来是object,后来传入res.data就好了)

    axios.get({
        url: 'xxxxxx',
        method: 'get',
        data:{},
        responseType: 'blob', // 声明返回blob格式
    }).then(res => {
        downLoadBlobFile(res.data);
    });
    
    function downLoadBlodFile(excelFlow){
                const elink = document.createElement('a');
                elink.download = 'XXX.csv';  //定义表格名称,后缀是文件格式
                elink.style.display = 'none';
                const blob = new Blob([excelFlow], { type: 'text/csv,charset=UTF-8'});
                elink.href = URL.createObjectURL(blob);
                document.body.appendChild(elink);
                elink.click();
                document.body.removeChild(elink);
    }
    接脚本定制
    I frequently record, because want to leave something.
  • TA的每日心情
    擦汗
    4 天前
  • 签到天数: 194 天

    [LV.7]常住居民III

    720

    主题

    6071

    回帖

    6850

    积分

    管理员

    非物质文化遗产社会摇传承人

    积分
    6850

    荣誉开发者喜迎中秋油中2周年生态建设者

    发表于 2022-10-26 22:15:46 | 显示全部楼层
    我记着filesaver是直接可以传地址的
    不太推荐用dom点击式
    部分浏览器的话点击会直接跳转到文件当前页面印象里
    (filesaver好像也是这种方式...但是微妙的兼容性好一地那)


    Saving URLs

    FileSaver.saveAs("https://httpbin.org/image", "image.jpg");


    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

    入驻了爱发电https://afdian.net/a/lihengdao666
    个人宣言:この世界で私に胜てる人とコードはまだ生まれていません。死ぬのが怖くなければ来てください。
    回复

    使用道具 举报

  • TA的每日心情
    开心
    4 小时前
  • 签到天数: 908 天

    [LV.10]以坛为家III

    30

    主题

    732

    回帖

    7377

    积分

    荣誉开发者

    精通各种语言的HelloWord!

    积分
    7377

    荣誉开发者油中2周年生态建设者油中3周年挑战者 lv2

    发表于 2022-10-27 10:28:08 | 显示全部楼层
    李恒道 发表于 2022-10-26 22:15
    我记着filesaver是直接可以传地址的
    不太推荐用dom点击式
    部分浏览器的话点击会直接跳转到文件当前页面印象 ...

    我之前就是用dom,发现手机端点下载没反应QAQ
    回复

    使用道具 举报

    发表回复

    本版积分规则

    快速回复 返回顶部 返回列表