Blob (Binary Large Object) “二进制大对象”, 在JavaScript中,Blob通常表示二进制数据, 也可以表示一个小型文本文件内容。Blob是不透明的,能对它们进行的直接操作的就只有获取它们的大小、MIME类型,以及将它们分割成更小的Blob

    1. var blob = new Blob()
    2. blob.size // Blob大小(以字节为单位)
    3. blob.type // Blob的MIME类型
    4. var subblob = blob.slice(0, 1024, "text/plain") // Blob中前1k视为文本
    5. var last = blob.slice(0, blob.size-1024) // Blob最后1kb视为无类型

    Web浏览器可以将Blob存储到内存或者磁盘中,Blob可以表示非常大的数据块(比如视频文件),如果事先不将它们分割成小数据块的话,无法存储到主内存中

    客户端的JavaScript的File对象是Blob的子类,File对象其实就是有名字和修改日期的Blob数据
    通过<input type="file"/>元素以及拖放API可以获取File对象