大文件上传与文件下载

大文件上传 分片 续传 秒传 | 黑马程序员

文件类型:1.今天一次性给你讲清楚:File、Blob、FileReader、ArrayBuffer、Base64_哔哩哔哩_bilibili

教程:

01.Axios二次封装及前后端通信常用的数据格式_哔哩哔哩_bilibili

如果你是在做 文件上传 ,用 FormData 是最合适的;

如果是 提交 JSON 数据 ,用 application/json;

如果是 传统表单登录 ,用 x-www-form-urlencoded

前端较少直接使用,需配合 Blob 或 ArrayBuffer:怎么配合使用?

在前端,Buffer 是 Node.js 的概念,浏览器里没有 Buffer 这个类。

浏览器里对应的二进制容器是:

  • ArrayBuffer(原始字节数组,不可直接操作)

  • TypedArray(如 Uint8Array,可操作字节)

  • Blob(带 MIME 类型的不可变原始数据,常用于文件、上传)

下面给出 3 个最常见的"前端把二进制数据发给服务器"的实战组合,看完就能直接抄代码。

一句话总结

  • 浏览器没有 Buffer,用 Blob / ArrayBuffer / TypedArray 代替。

  • fetch/axios 的 body 字段直接支持这些类型,无需手动转 Buffer。

  • 只要 Content-Type 设为 application/octet-stream,后端就能按"裸二进制"接收。


  1. 用户选了文件 ➜ 直接上传二进制流(最常用)

需求

只想把用户选的文件原封不动以"二进制流"形式 POST 到后端,后端收 application/octet-stream。

BASE64:

服务器:

文件下载:

预览文件:

相关推荐
花开盛夏^.^7 小时前
电脑打开多个浏览器Web窗口占用较大的运行内存的原因
前端·浏览器
馒头不想说话8 小时前
实体店老板的24小时AI运营员工,写、剪、发全自动,省下一整个团队工资
前端
椒哥10 小时前
一天被问几十次"允许",我统计了 517 次,然后写了个插件
前端·javascript·github
风骏时光牛马10 小时前
生成一个AI稳定性治理及疑难问题分析标题,只需要一个标题,不需要其他的任何文本。
前端
莫西干式秃头11 小时前
用 AI + threejs 写了个浏览器里的 3D 动作游戏《武来》:砍怪、放技能、开 SU7
前端·人工智能·three.js
kyriewen11 小时前
我测了 6 种防请求竞态的写法:只有 1 种真能打
前端·javascript·程序员
孟健11 小时前
用 WorkBuddy 做个人名片网页,挂上开源设计技能后效果完全不同了
前端·人工智能·ai编程
IT_陈寒11 小时前
SpringBoot自动配置的坑,这次终于爬出来了
前端·人工智能·后端
LuHang12 小时前
从天地图切换到高德地图:一次真实的底图迁移实战
前端·vue.js·cesium
用户3600555790012 小时前
Kestrel_VLLM - 27 · 寄存器常驻与融合发射:两次「少发一次」
前端