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

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

[复制链接]
  • TA的每日心情
    无聊
    2023-11-2 17:37
  • 签到天数: 275 天

    [LV.8]以坛为家I

    114

    主题

    452

    回帖

    973

    积分

    荣誉开发者

    积分
    973

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

    发表于 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的每日心情
    开心
    2023-2-28 23:59
  • 签到天数: 191 天

    [LV.7]常住居民III

    637

    主题

    5196

    回帖

    6078

    积分

    管理员

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

    积分
    6078

    荣誉开发者管理员油中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的每日心情
    开心
    昨天 18:02
  • 签到天数: 711 天

    [LV.9]以坛为家II

    27

    主题

    733

    回帖

    7218

    积分

    荣誉开发者

    精通各种语言的HelloWord!

    积分
    7218

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

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

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

    使用道具 举报

    发表回复

    本版积分规则

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