Blob (Binary Large Object) “二进制大对象”, 在JavaScript中,Blob通常表示二进制数据, 也可以表示一个小型文本文件内容。Blob是不透明的,能对它们进行的直接操作的就只有获取它们的大小、MIME类型,以及将它们分割成更小的Blob
var blob = new Blob()
blob.size // Blob大小(以字节为单位)
blob.type // Blob的MIME类型
var subblob = blob.slice(0, 1024, "text/plain") // Blob中前1k视为文本
var last = blob.slice(0, blob.size-1024) // Blob最后1kb视为无类型
Web浏览器可以将Blob存储到内存或者磁盘中,Blob可以表示非常大的数据块(比如视频文件),如果事先不将它们分割成小数据块的话,无法存储到主内存中
客户端的JavaScript的File对象是Blob的子类,File对象其实就是有名字和修改日期的Blob数据
通过<input type="file"/>
元素以及拖放API可以获取File对象