一个Blob
对象就是一个包含有只读原始数据的类文件对象.Blob
对象中的数据并不一定得是JavaScript中的原生形式.File
接口基于Blob
,继承了Blob
的功能,并且扩展支持了用户计算机上的本地文件.
创建Blob
对象的方法有几种,可以调用Blob
构造函数,还可以使用一个已有Blob
对象上的slice()方法
切出另一个Blob
对象,还可以调用canvas
对象上的toBlob
方法.
例子:
1 |
var blob = new Blob(["Hello world!"], { type: "text/plain" }); |
通过 Blob 对象可以创建一个子 Blob 对象,将其分割(file 对象也可以)。
由于每个 Blob 对象都是通过指针指向数据的而不是指向数据本身,可以快速的创建指向其他子部分的新的 Blob 对象,这里使用 slice() 方法。
此方法接受三个参数,起始偏移量,结束偏移量,还有可选的 mime 类型。
当要上传大文件的时候,此方法非常有用,可以将大文件分割分段,然后各自上传,因为分割之后的 Blob 对象和原始的是独立存在的
目前IE系列的浏览器 从IE10起支持Blob Chrome和Firefox支持Blob。