JavaScript对二进制文件操作之Blob对象
文件操作一直是早期浏览器的痛点,全封闭式,不给JS操作的空间,而随着H5一系列新接口的推出,这个壁垒被打破。对,是一系列接口,以下会涉及到如下概念:Blob、File、FileReader、ArrayBuffer、ArrayBufferView、DataURL等,其他如FormData、XMLHttpRequest、Canvas等暂不深入。
在介绍FileReader对象之前,我们先了解一下Blob对象
Blob(Binary Large Object)术语最初来自数据库(oracle 中也有类似的栏位类型。),早期数据库因为要存储声音、图片、以及可执行程序等二进制数据对象所以给该类对象取名为Blob。
在Web领域,Blob被定义为包含只读数据的类文件对象。Blob中的数据不一定是Javascript原生数据形式。
在这里我简介的是Javascript的对象类型---Blob,Blob对象除了存放二进制数据外还可以设置这个数据的MINE类型,这相当于对文件的储存,其它很多二进制对象也是从这个对象继承的,而File接口就是继承Blob,并进行扩展。
【1】简单创建blob对象
//size:大小 type:MIME类型
var blob = new Blob(["Hello world!"],{type:"text/plain"});
console.log(blob);