什么是Blob?Blob是一种JavaScript的对象类型。HTML5的文件操作对象,file对象就是Blob的一个分支或说一个子集。
Blob 存储大量的二进制数据,Blob自己本身的属性有两个,分别是:size 和 type ,在原型中有个很有用的方法:slice();
slice()方法在js很多对象中都有,其作用也类似,都是用来截取,Blob中的slice也一样,也是用来截取,不过这里截取的是
文件数据二进制字符,也相当是数据,因为二进制字符表示的就是数据本身,同时这里大家也更愿意成为切片分割,意思是把
Blob 中保存的数据分成一块一块的,大文件上传时,由于上传限制,就会有需要用到这个切片,把文件分片上传。
正式介绍用法:
首先创建一个Blob对象,实例化构造函数,接受两个参数,第一个为一个数据,第二个参数,是一个包含了两个属性的对象,
其两个属性分别是:type -- MIME 的类型。endings -- 决定 append() 的数据格式,(数据中的 \n 如何被转换)
可以取值为 "transparent" 或者 "native"(t* 的话不变,n* 的话按操作系统转换;t* 为默认) 。
读取数据和file文件对象是一样的,用FileReader文件读取器对象去读取数据。
var blob=new Blob( ["数据"] , { type:'text/plain' } ) //创建Blob对象
var read=new FileReader(); //创建读取器对象FileReader
read.readAsText(bolb); //开始读取文件
read.οnlοad=function () { //数据读完会触发onload事件
console.log(read.result); //read有个result属性存放这结果,从result获取到数据
}