大文件上传与文件下载

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

文件类型: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/axiosbody 字段直接支持这些类型,无需手动转 Buffer

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


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

需求

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

BASE64:

服务器:

文件下载:

预览文件:

相关推荐
Hilaku3 分钟前
我用 Gemini 3 Pro 手搓了一个并发邮件群发神器(附源码)
前端·javascript·github
IT_陈寒4 分钟前
Java性能调优实战:5个被低估却提升30%效率的JVM参数
前端·人工智能·后端
快手技术5 分钟前
AAAI 2026|全面发力!快手斩获 3 篇 Oral,12 篇论文入选!
前端·后端·算法
颜酱6 分钟前
前端算法必备:滑动窗口从入门到很熟练(最长/最短/计数三大类型)
前端·后端·算法
全栈前端老曹15 分钟前
【包管理】npm init 项目名后底层发生了什么的完整逻辑
前端·javascript·npm·node.js·json·包管理·底层原理
HHHHHY21 分钟前
mathjs简单实现一个数学计算公式及校验组件
前端·javascript·vue.js
boooooooom24 分钟前
Vue3 provide/inject 跨层级通信:最佳实践与避坑指南
前端·vue.js
一颗烂土豆24 分钟前
Vue 3 + Three.js 打造轻量级 3D 图表库 —— chart3
前端·vue.js·数据可视化
青莲84325 分钟前
Android 动画机制完整详解
android·前端·面试
iReachers28 分钟前
HTML打包APK(安卓APP)中下载功能常见问题和详细介绍
前端·javascript·html·html打包apk·网页打包app·下载功能