什么是Blob
Blob是一种JavaScript对象类型。Blob对象存储着大量的二进制数据,我们所熟悉的file对象就是继承自Blob,并且size和type属性也是继承自Blob。
如何创建一个Blob对象
创建一个Blob对象需要传递两个参数,一个是数据序列,可以是任意格式的值,一个是包含两个属性的对象,{ type: MIME的类型, endings: 决定第一个参数的数据格式,可以取值为 “transparent” 或者 “native”(transparent的话不变,是默认值,native 的话按操作系统转换) 。 }
var blob = new Blob(["数据"], { type:'text/plain' }) //创建一个Blob对象
var read = new FileReader(); //创建一个读取器对象
read.readAsText(blob); //读取文件
read.onload = function () {
console.log(read.result); //从result获取数据
}
属性
Blob有两个个属性size 、 type
- Blob.size
Blob对象中所包含的数据的大小(字节)。 - Blob.type
一个字符串,例如具体是哪种类型字符串或者哪种类型的文件, 表明该Blob对象所包含数据的MIME类型。如果类型未知,则该值为空字符串
方法
- Blob.close()
关闭 Blob 对象,以便能释放底层资源。 - Blob.slice([start[, end[, contentType]]])
返回一个新的 Blob 对象,包含了源 Blob 对象中指定范围内的数据。其实就是对这个blob中的数据进行切割,我们在对文件进行分片上传的时候需要使用到这个方法。