Blob 文件格式详解与前端实战应用
什么是 Blob?
在 Web 开发中,Blob(Binary Large Object,二进制大对象)是处理二进制数据的核心接口。它本质上是一个不可变的、类似文件的对象,能够存储大量原始数据。
// 创建一个简单的 Blob 对象
const blob = new Blob(["Hello, world!"], { type: 'text/plain' });
Blob 的基本特性
- 不可变性:创建后内容无法直接修改,需通过切片或新建生成新对象。
- 类型标识:支持
MIME类型,便于浏览器识别数据格式。 - 大容量存储:适合处理图片、音频等二进制资源。
- 分片能力:可通过
slice()方法分割成更小的Blob片段。
Blob 的构造函数
使用 new Blob() 创建实例,主要接受两个参数:
new Blob(blobParts, options);
- blobParts:由
ArrayBuffer、Blob、DOMString等构成的数组。 - options:可选配置,包含
type(MIME 类型)和endings(行结束符处理方式)。
常见使用场景
1. 文件下载
利用 URL.createObjectURL() 将 Blob 转为临时链接,触发浏览器下载行为。
function downloadFile(content, filename, type) {
const blob = new Blob([content], { type });
const url = URL.createObjectURL(blob);
const a = document.createElement('a');
a.href = url;
a.download = filename;
a.();
.(url);
}
(, , );


