news 2026/6/10 7:51:17

前端接受后端文件流并下载的几种方法,收藏这篇就够了

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
前端接受后端文件流并下载的几种方法,收藏这篇就够了
  • 项目中经常会遇到需要导出列表内容,或者下载文件之类的需求。结合各种情况,我总结了前端最常用的三种方法来接受后端传过来的文件流并下载,针对不同的情况可以使用不同的方法。

首先是后端将文件转换成byte数组

/** * 将文件转换成byte数组 * @param filePath 文件File类 通过new File(文件路径) * @return byte数组 */ public static byte[] File2byte(File filePath) { byte[] buffer = null; try { FileInputStream fis = new FileInputStream(filePath); ByteArrayOutputStream bos = new ByteArrayOutputStream(); byte[] b = new byte[1024]; int n; while ((n = fis.read(b)) != -1) { bos.write(b, 0, n); } fis.close(); bos.close(); buffer = bos.toByteArray(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return buffer; }

这里有还可以对byte进行base64编码和解码

byte[] bytes = tradeFile(file); String str = new String(Base64.encodeBase64(bytes)) byte[] bytes = Base64.decodeBase64(str);

后面是重点,前端接受后端文件流并下载的几种方法

方法一
使用场景
针对后端的get请求

具体实现

<a href="后端文件下载接口地址" >下载文件</a>

直接用个标签来接受后端的文件流

方法二
使用场景
针对后端的post请求 利用原生的XMLHttpRequest方法实现

具体实现

function request () { const req = new XMLHttpRequest(); req.open('POST', '<接口地址>', true); req.responseType = 'blob'; req.setRequestHeader('Content-Type', 'application/json'); req.onload = function() { const data = req.response; const blob = new Blob([data]); const blobUrl = window.URL.createObjectURL(blob); download(blobUrl) ; }; req.send('<请求参数:json字符串>'); }; function download(blobUrl) { const a = document.createElement('a'); a.download = '<文件名>'; a.href = blobUrl; a.click(); } request();

方法三
使用场景
针对后端的post请求 利用原生的fetch方法实现

具体实现

function request() { fetch('<接口地址>', { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: '<请求参数:json字符串>', }) .then(res => res.blob()) .then(data => { let blobUrl = window.URL.createObjectURL(data); download(blobUrl); }); } function download(blobUrl) { const a = document.createElement('a'); a.download = '<文件名>'; a.href = blobUrl; a.click(); } request();

总结

方法二和方法三怎么取舍?

2025开年,AI技术打得火热,正在改变前端人的职业命运:

阿里云核心业务全部接入Agent体系;

字节跳动30%前端岗位要求大模型开发能力;

腾讯、京东、百度开放招聘技术岗,80%与AI相关……

大模型正在重构技术开发范式,传统CRUD开发模式正在被AI原生应用取代!

最残忍的是,业务面临转型,领导要求用RAG优化知识库检索,你不会;带AI团队,微调大模型要准备多少数据,你不懂;想转型大模型应用开发工程师等相关岗,没项目实操经验……这不是技术焦虑,而是职业生存危机!

曾经React、Vue等热门的开发框架,已不再是就业的金钥匙。如果认为会调用API就是懂大模型、能进行二次开发,那就大错特错了。制造、医疗、金融等各行业都在加速AI应用落地,未来企业更看重能用AI大模型技术重构业务流的技术人。

如今技术圈降薪裁员频频爆发,传统岗位大批缩水,相反AI相关技术岗疯狂扩招,薪资逆势上涨150%,大厂老板们甚至开出70-100W年薪,挖掘AI大模型人才!

不出1年 “有AI项目开发经验”或将成为前端人投递简历的门槛。

风口之下,与其像“温水煮青蛙”一样坐等被行业淘汰,不如先人一步,掌握AI大模型原理+应用技术+项目实操经验,“顺风”翻盘!

大模型目前在人工智能领域可以说正处于一种“炙手可热”的状态,吸引了很多人的关注和兴趣,也有很多新人小白想要学习入门大模型,那么,如何入门大模型呢?

下面给大家分享一份2025最新版的大模型学习路线,帮助新人小白更系统、更快速的学习大模型!

2025最新版CSDN大礼包:《AGI大模型学习资源包》免费分享**

一、2025最新大模型学习路线

一个明确的学习路线可以帮助新人了解从哪里开始,按照什么顺序学习,以及需要掌握哪些知识点。大模型领域涉及的知识点非常广泛,没有明确的学习路线可能会导致新人感到迷茫,不知道应该专注于哪些内容。

我们把学习路线分成L1到L4四个阶段,一步步带你从入门到进阶,从理论到实战。

L1级别:AI大模型时代的华丽登场

L1阶段:我们会去了解大模型的基础知识,以及大模型在各个行业的应用和分析;学习理解大模型的核心原理,关键技术,以及大模型应用场景;通过理论原理结合多个项目实战,从提示工程基础到提示工程进阶,掌握Prompt提示工程。

L2级别:AI大模型RAG应用开发工程

L2阶段是我们的AI大模型RAG应用开发工程,我们会去学习RAG检索增强生成:包括Naive RAG、Advanced-RAG以及RAG性能评估,还有GraphRAG在内的多个RAG热门项目的分析。

L3级别:大模型Agent应用架构进阶实践

L3阶段:大模型Agent应用架构进阶实现,我们会去学习LangChain、 LIamaIndex框架,也会学习到AutoGPT、 MetaGPT等多Agent系统,打造我们自己的Agent智能体;同时还可以学习到包括Coze、Dify在内的可视化工具的使用。

L4级别:大模型微调与私有化部署

L4阶段:大模型的微调和私有化部署,我们会更加深入的探讨Transformer架构,学习大模型的微调技术,利用DeepSpeed、Lamam Factory等工具快速进行模型微调;并通过Ollama、vLLM等推理部署框架,实现模型的快速部署。

整个大模型学习路线L1主要是对大模型的理论基础、生态以及提示词他的一个学习掌握;而L3 L4更多的是通过项目实战来掌握大模型的应用开发,针对以上大模型的学习路线我们也整理了对应的学习视频教程,和配套的学习资料。

二、大模型经典PDF书籍

书籍和学习文档资料是学习大模型过程中必不可少的,我们精选了一系列深入探讨大模型技术的书籍和学习文档,它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础(书籍含电子版PDF)

三、大模型视频教程

对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的大模型视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识

四、大模型项目实战

学以致用,当你的理论知识积累到一定程度,就需要通过项目实战,在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。

五、大模型面试题

面试不仅是技术的较量,更需要充分的准备。

在你已经掌握了大模型技术之后,就需要开始准备面试,我们将提供精心整理的大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。


因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

2025最新版CSDN大礼包:《AGI大模型学习资源包》免费分享

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 4:40:59

2025年12月9日,OpenAI发布ChatGPT-5.2:未来已经到来,AI改变生活

2025年12月9日&#xff0c;OpenAI迎来了一个重磅发布——ChatGPT-5.2。作为继ChatGPT-5.0之后的又一重要版本更新&#xff0c;5.2不仅带来了更强的技术功能&#xff0c;还让人工智能在各个领域的应用变得更加深入人心。通过强大的多模态能力、超高的情感理解、无缝的跨行业适配…

作者头像 李华
网站建设 2026/6/6 1:06:42

.NET 10 网络堆栈深度架构解析:HTTP/3、性能优化与后量子加密的融合演进

T 10 的发布&#xff0c;微软不仅是在更新一个开发框架&#xff0c;更是在重新定义云原生时代的网络通信标准。本次更新的核心理念紧扣“更现代、更高效、更开发者友好”的三大支柱&#xff0c;标志着.NET 网络堆栈从传统的 TCP/IP 依赖向以 UDP 为基础的 QUIC 协议、后量子加密…

作者头像 李华
网站建设 2026/6/10 1:26:09

有哪些永久免费进销存出入库管理系统?推荐象过河软件

对于中小微企业和个体商户而言&#xff0c;进销存出入库管理是经营的核心环节&#xff0c;可传统手工记录模式易出现数据错漏、库存积压或缺货的问题&#xff0c;而付费进销存系统又会增加经营成本&#xff0c;因此不少商家都在寻找永久免费的进销存出入库管理系统。2025 年&am…

作者头像 李华
网站建设 2026/6/8 17:29:03

Python+Vue的基于推荐算法的在线课程推荐系统 Pycharm django flask

收藏关注不迷路&#xff01;&#xff01;需要的小伙伴可以发链接或者截图给我 项目介绍 本系统共有管理员,用户2个角色&#xff0c;具体功能如下&#xff1a; 1.管理员角色的功能主要包括管理员登录&#xff0c;用户管理&#xff0c;课程信息管理&#xff0c;课程类型管理&…

作者头像 李华
网站建设 2026/6/9 14:28:48

etcd核心架构与设计原理简单介绍

1. etcd是什么&#xff1f;etcd是一个分布式、可靠、一致的键值存储系统&#xff0c;专门用于保存分布式系统中的关键数据&#xff0c;并提供可靠的分布式协调服务。2. etcd的核心架构// etcd的层次化架构模型 type EtcdArchitecture struct {// 1. 存储层StorageLayer struct …

作者头像 李华