文章简介
本篇文章为【JavaScript 漫游】专栏的第 040 篇文章,对浏览器模型中的 Blob 对象进行了总结。
概述
Blob 对象表示一个二进制文件的数据内容,比如一个图片文件的内容就可以通过 Blob 对象读写。它通常用来读写文件,它的名字是 Binary Large Object(二进制大型对象)的缩写。
浏览器原生提供 Blob()
构造函数,用来生成实例对象。
new Blob(array, [, options]);
Blob
构造函数接受两个参数。第一个参数是数组,成员是字符串或二进制对象,表示新生成的 Blob
实例对象的内容;第二个参数是可选的,是一个配置对象,目前只有一个属性 type
,它的值是一个字符串,表示类型的 MIME 类型,默认是空字符串。
var htmlFragment = ['<a id="a"><b id="b">hey!</b></a>'];
var myBlob = new Blob(htmlFragment, {
type : 'text/html'});
var obj = {
hello: 'world' };
var blob = new Blob([ JSON.stringify(obj) ], {
type : 'application/json'});
实例属性和实例方法
Blob
具有两个实例属性 size
和 type
,分别返回数据的大小和类型。
var htmlFragment = ['<a id="a"><b id="b">hey!</b></a>'];
var myBlob = new Blob(htmlFragment, {
type : 'text/html'});
myBlob.size // 32
myBlob.type // "text/html"
Blob
具有一个实例方法 slice
,用来拷贝原来的数据,返回的也是一个 Blob
实例。
myBlob.