大文件上传与文件下载

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

文件类型: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:

服务器:

文件下载:

预览文件:

相关推荐
wu_jing_sheng03 小时前
Python中使用HTTP 206状态码实现大文件下载的完整指南
开发语言·前端·python
90后的晨仔3 小时前
Vue3项目全面部署指南:从构建到上线
前端·vue.js
小于小于09123 小时前
npx 与 npm 区别
前端·npm·node.js
望获linux3 小时前
【实时Linux实战系列】实时 Linux 在边缘计算网关中的应用
java·linux·服务器·前端·数据库·操作系统
qq_252924193 小时前
PHP 8.0+ 现代Web开发实战指南 引
android·前端·php
Jeled3 小时前
Android 本地存储方案深度解析:SharedPreferences、DataStore、MMKV 全面对比
android·前端·缓存·kotlin·android studio·android jetpack
Mintopia3 小时前
🎨 AIGC 内容过滤技术:当创作的洪流遇上理性的堤坝
前端·javascript·aigc
Mintopia4 小时前
⚙️ Next.js 缓存与队列:当数据与请求跳起“低延迟之舞”
前端·全栈·next.js
Shi_haoliu4 小时前
Vue2 + Office Add-in关于用vue项目于加载项控制excel单元格内容(Demo版)
前端·javascript·vue.js·node.js·html·excel·office