JavaScript Blob对象原理及用法详解

作者:闭包旅人

时间:2026-10-23

浏览:222

本文详细介绍JavaScript中Blob对象的原理与应用。Blob表示不可变的原始数据,支持从字符串、JSON等构造。文章涵盖Blob.size属性获取字节大小,以及slice()方法截取指定字节范围数据,适用于处理二进制文件、音视频及动态创建Blob URL等场景。

文章目录

Blob对象概述

Blob是JavaScript语言中的内建对象,用于表示不可变的原始数据,其功能类似于文件对象。

Blob代表一种不可变的原始数据对象,这些数据未必是JavaScript的原生格式。文件接口(File API)基于Blob构建,继承了Blob的功能并扩展了支持用户本地文件系统文件的能力。

Blob对象具有多种应用场景:

可以从网络资源中创建。

可以保存至磁盘或从磁盘读取。

例如,FileReader API中使用的File对象,其基础数据结构即为Blob。

我们可以利用Blob()构造函数,从其他非Blob类型的数据或对象来构造新的Blob实例。

Blob构造函数

Blob构造函数

Blob构造函数允许开发者从其他对象创建Blob实例,例如从字符串数据构造Blob。

let hero = {name: 'Batman'} let blobObject = new Blob([jsON.stringify(hero, null, 2)], { type: 'application/json' }); console.log(blobObject);

在浏览器环境中运行上述代码,控制台将输出相应的Blob对象信息。

Blob对象概述

获取Blob大小

Blob size 属性

通过Blob.size属性,可以获取Blob或File对象的大小,单位为字节。

var sizeInBytes = blob.size

参考以下示例代码。

let hero = {name: 'Batman'} let blobObject = new Blob([JSON.stringify(hero, null, 2)],{ type: 'application/json' }); console.log(blobObject.size);

上述代码将输出数值:22

截取Blob数据

Blob.slice() 方法

Blob.slice()函数用于生成一个新的Blob对象,新对象包含源Blob中指定字节范围的数据。

instanceOfBlob.slice([start [, end [, contentType]]]);

参考以下代码示例。

let hero = {name: 'Batman'} let blobObject = new Blob([JSON.stringify(hero, null, 2)], { type: 'application/json' }); console.log(blobObject.slice(10, 16, { type: 'application/json' }));

输出结果

Blob对象概述

总结

总结

在处理二进制远程文件时,Blob对象非常实用。

Blob对象可能包含大量数据,例如音频和视频文件。我们可以动态创建Blob,并通过Blob URL将其用作文件。通过多种不同的使用方式,可以充分发挥Blob的效用。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章