当前位置: 首页 > news >正文

JavaScript--大文件上传的伪代码实现

前言

猛的,我想起上一次找工作时被问到的大文件上传,故现在借此实现下,也算是为面视做了准备了吧

分析

使用File对象原型链上的slice函数对文件进行分块,同时为每一块打上唯一性标识和序号,最后对每一个分块作单独的ajax请求,当所有子块均上传完毕后,再发起合并请求,让后台对分块进行合并即可

实现

我本来是打算用vue3写的,奈何网太差,项目半天初始化不好,故直接使用jq,页面效果如下

当获取到文件后,对文件进行拆分,比如以2M作为拆分标准,拆成file.size/2个请求,如果同一个文件被多次上传,则需要能有一个标识标记出是同一文件从而忽略(这一般都是后台的事儿了),这里可用借助SparkMD5来生成唯一hash文件标识

框出的位置则是对文件分成不同的chunk,并按chunk发送给后台

分块完成后,便可以生成唯一hash值并发送分块请求

对于进度条的实现则可以借助axios的onUploadProgress函数,我这里胡乱模拟了一个

最后就是使用Promise.allSettled来获取每一个分块请求的结果,如果存在失败的,则重发即可

写在最后

一开始是想做一个完整的,但是时间未必都是海绵里的水,挤一挤未必都有,不过也有一些实现的思路:

使用koaBody中间件处理post请求,在其onFileBegin函数中接收前端传递的chunk信息并使用fs的文件读写能力保存到本地

使用读写流读取本地的分块文件,并进行合并,最后删除对应的块文件即可

AI大模型学习福利

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

因篇幅有限,仅展示部分资料,需要点击文章最下方名片即可前往获取

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

因篇幅有限,仅展示部分资料,需要点击文章最下方名片即可前往获

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。


因篇幅有限,仅展示部分资料,需要点击文章最下方名片即可前往获

四、AI大模型商业化落地方案

因篇幅有限,仅展示部分资料,需要点击文章最下方名片即可前往获

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量


http://www.cnnetsun.cn/news/19867.html

相关文章:

  • MethylDackel:BS-seq甲基化提取的终极利器
  • RookieAI_yolov8:2025年游戏AI自瞄技术完全指南
  • pywebview与React集成的终极指南:高效构建跨平台桌面应用
  • 大模型微调:不冻结参数 vs 冻结主干
  • 30亿参数改写AI效率范式:Qwen3-30B-A3B如何让企业AI成本降60%?
  • ppInk:Windows平台上的终极协作写作与在线文档编辑指南
  • 3步彻底解决PDFMathTranslate中文乱码:从新手到专家的终极指南
  • React Stripe.js 终极指南:快速构建安全支付系统
  • 新手专属!BurpSuite 零基础到实战全攻略 —— 渗透测试核心工具配置与精通教程
  • 基于web的农产品溯源系统选题表
  • 基于Web的企业招投标管理系统的开发中期报告
  • ABB RobotWare软件资源下载与配置完全指南
  • Unity角色移动系统终极指南:打造《原神》级流畅体验
  • 终极指南:使用APK Icon Editor轻松定制Android应用
  • 基于Java的学贷通智慧管理系统的设计与实现全方位解析:附毕设论文+源代码
  • 字节跳动开源90亿学术大模型:轻量化英文场景解决方案来了
  • 如何获取119,376个英语单词发音MP3音频资源?实用工具完整指南
  • GitHub下载加速革命:告别龟速访问的终极解决方案
  • cohesive 单元设置粘性(VISCOSITY)
  • AI 内容洞察决策系统:4 大功能让科技企业创新效率提升 50%,敏捷破局信息困局
  • DeepPCB数据集终极指南:PCB缺陷检测实战手册
  • 7-Zip ZS:六种压缩算法如何彻底改变你的文件处理体验
  • Chrome DevTools Protocol终极指南:解锁浏览器自动化的无限可能
  • ET框架客户端性能优化终极指南:从15秒到3秒的快速启动实战
  • 4种有效方法:如何将音乐从Mac传输到Android
  • LoRaWAN智慧物联应用:远距离、低功耗、广连接
  • KK-HF_Patch完整使用指南:轻松解锁游戏无限可能
  • AppPolice终极指南:如何快速限制Mac应用CPU占用
  • 2025 年广州服装批发市场推荐:原创与效率双驱采批标杆
  • 记录vue动态切换访问后台服务