什么是 Blob?
Blob(Binary Large Object,二进制大对象)是 JavaScript 中用于表示二进制数据的一个对象。它本质上是一个不可变的、原始数据的类文件对象,可以存储大量的二进制数据。
const blob = new Blob(["Hello, world!"], { type: 'text/plain' });
Blob 的基本特性
- 不可变性:一旦创建,Blob 对象的内容无法直接修改
- 类型标识:通过 MIME 类型标识数据格式
- 大小存储:可以存储大量二进制数据
- 分片能力:可以被分割成更小的 Blob 对象
Blob 的构造函数
Blob 构造函数接受两个参数:
new Blob(blobParts, options);
- blobParts:由 ArrayBuffer、ArrayBufferView、Blob、DOMString 等对象构成的数组
- options:可选参数,包含两个属性:
- type:Blob 内容的 MIME 类型
- endings:指定包含行结束符\n 的字符串如何写入
常见使用场景
1. 文件下载
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);
}
(, , );


