Blob对象

Blob对象在JavaScript中用于表示不可变的原始数据,常用于处理二进制数据。它可以是任何格式,且提供了多种方法如slice、stream和text等来操作数据。创建Blob通常使用Blob构造函数,结合ArrayBuffer、String等数据。此外,可以通过URL.createObjectURL创建指向Blob的URL,便于数据展示或下载。BlobBuilder已被废弃,现在推荐直接使用Blob接口。
摘要由CSDN通过智能技术生成

Blob对象

  1. 什么是Blob对象

Blob代表了一中不变的、原数据的类文件对象,它们可以当作text或者binary data或者转换为可读取的流(ReadableStream)。所以它的方法可以被用来处理数据。Blobs表示的不一定是JavaScript原生格式的数据。File接口基于Blob,继承了blob的功能并且拓展了它以支持使用用户系统上的文件。

  1. 使用blobs

为了从非blob对象和数据构建一个Blob,可以使用Blob()构造函数。为了创建一个包含另一个blob‘s数据的子集的blob对象,可以使用slice()方法。为了获取一个在用户系统上的文件的Blob对象,可以看File文档。

  1. 构造器

Blob(blobParts[, option])

返回一个新创建的包含了Blob对象,其内容为参数中给定的数组串联组成。

  1. 属性

  • Blob.size 只读

    Blob对象包含的数据大小,单位是字节(bytes)

  • Blob.type 只读

    Blob包含数据的MIME类型。如果类型是未知的,它的值为空。

  1. 方法

  • Blob.slice([start[, end[, contentType]]])

    返回一个新的Blob对象,包含了源Blob对象中指定范围的数据

  • Blob.stream()

    返回一个可以读取blob内容的流。

  • Blob.text()

    返回一个promise,返回一个包含了blob完整内容,并格式为UTF-8格式显示的USVString

  • Blob.arrayBuffer()

    返回一个promise,返回一个包含了blob整个内容,并且格式为binary dataArrayBuffer对象

  1. 实例

创建一个blob对像

    var debug = {
   hello: 'string'}
Blob 对象是一种表示不可变的二进制数据的类型,类似于文件对象。在 Web 开发中,Blob 对象主要用于处理二进制数据,例如上传和下载文件、处理音频和视频数据等。Blob 类型的对象可以通过构造函数 new Blob(data, options) 来创建,其中 data 是一个数组或者数组缓冲区,用于存储二进制数据;options 是一个可选参数,用于指定 Blob 对象的 MIME 类型。 Blob 对象具有以下特点: 1. Blob 对象是不可变的,即创建后无法修改。 2. Blob 对象具有 size 属性,表示 Blob 对象的大小(字节数)。 3. Blob 对象具有 type 属性,表示 Blob 对象的 MIME 类型。 对于 Blob 对象的基本用法,可以使用 slice 方法对 Blob 对象进行切割,生成新的 Blob 对象。slice 方法接受两个参数,start 和 end,表示切割的起始位置和结束位置(不包含结束位置),返回一个新的 Blob 对象。 例如,以下是 Blob 对象的基本用法的示例: ```javascript var data = "abcdef"; var blob1 = new Blob([data]); var blob2 = blob1.slice(0, 3); console.log(blob1); // 输出:Blob {size: 6, type: ""} console.log(blob2); // 输出:Blob {size: 3, type: ""} ``` 另外,Blob 对象创建时,可以传入不同类型的数据,例如字符串、数组、对象等。Blob 对象会根据传入的数据类型进行相应的处理。 例如,以下是创建 Blob 对象时传入不同类型数据的示例: ```javascript var data1 = "a"; var data2 = "b"; var data3 = "<div style='color:red;'>This is a blob</div>"; var data4 = { "name": "abc" }; var blob1 = new Blob([data1]); // Blob 对象的 size 为 1 var blob2 = new Blob([data1, data2]); // Blob 对象的 size 为 2 var blob3 = new Blob([data3]); // Blob 对象的 size 为 44 var blob4 = new Blob([JSON.stringify(data4)]); // Blob 对象的 size 为 14 var blob5 = new Blob([data4]); // Blob 对象的 size 为 15 var blob6 = new Blob([data3, data4]); // Blob 对象的 size 为 59 console.log(blob1); console.log(blob2); console.log(blob3); console.log(blob4); console.log(blob5); console.log(blob6); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值