• 1.摘要
  • 2.基本信息
  • 3.关于Blob
  • 4.SLICE方法
  • 5.创建BLOB
  • 6.发送BLOB

Blob理论

BLOB (binary large object),二进制大对象,是一个可以存储二进制文件的容器。

在计算机中,BLOB常常是数据库中用来存储二进制文件的字段类型。

BLOB是一个大文件,典型的BLOB是一张图片或一个声音文件,由于它们的尺寸,必须使用特殊的方式来处理(例如:上传、下载或者存放到一个数据库)。

Blob接口代表原始二进制数据,通过Blob对象的slice()方法,可以访问里面的字节数据。Blob接口还有两个属性:size和type。

基本信息

  • 中文名

    Blob理论

  • 外文名

    Blob

  • 定义

    原始二进制数据

  • 应用学科

    计算机原理

  • 系统

    计算机

  • 属性

    sizetype

关于Blob

Blob接口代表原始二进制数据,通过Blob对象的slice()方法,可以访问里面的字节数据。Blob接口还有两个属性:size和type。

1.size属性

表示Blob对象的字节长度。Blob对象的二进制数据可借助FileReader接口读取。如果Blob对象没有字节数,则size属性为0。

2.type属性

表示Blob对象的MIME类型,如果是未知类型,则返回一个空字符串。使用type属性获取文件的MIME类型,可以更加精确地确定文件的类型,可避免因更改文件的扩展名而造成文件类型的误判。

3.slice()方法

使用slice()方法可以实现文件的切割,并返回一个新的Blob对象。

4.File对象与Blob对象

File对象继承了Blob对象,所以File对象也可以使用Blob对象的属性和方法。

SLICE方法

Blob对象具有一个slice方法,用于从Blob对象所代表的原始二进制数据中抽离一部分数据,然后将这些数据创建为一个新的Blob对象,其使用方法如下所示。

var newBlob*blob.slice(start,end,contentType);

Blob对象的slice方法使用三个参数,均为可选参数,如果三个参数均省略时,相当于把一个Blob对象中的原始二进制数据原样复制到一个新建的Blob对象(即slice方法的返回值)中。

Blob对象的slice方法的第一个参数start的参数值为一个整数值,代表起始复制位置在Blob对象所代表的原始二进制数据中的位置,当start参数值为0时代表从该数据的起始位置(即第一个字节)开始复制数据;如果start参数值为负数值且Blob对象的size属性值+start参数值大于等于0,则起始复制位置为Blob对象的size属性值+start参数值;如果start参数值为负数值且Blob对象的size属性值+start参数值小于0,则起始复制位置为Blob对象所代表的原始二进制数据的起始位置;如果start参数值为正数值且大于等于Blob对象的size属性值,则起始复制位置为Blob对象的size属性值;如果start参数值为正数值且小于Blob对象的size属性值,则起始复制位置为start参数值。

Blob对象的slice方法的第二个参数end的参数值为一个整数值.代表终了复制位置在Blob对象所代表的原始二迸制数据中的位置,如果不使用该参数,则终了复制位置为Blob对象所代表的原始二进制数据的结束位置;如果end参数值为负数值且Blob对象的size属性值+end参数值大于等于0,则终了复制位置为Blob对象的size属性值+end参数值;如果end参数值为负数值且Blob对象的size属性值+end参数值小于0,则终了复制位置为Blob对象所代表的原始二进制数据的起始位置;如果end参数值为正数值且大于等于Blob对象的size属性值,则终了复制位置为Blob对象的size属性值;如果end参数值为正数值且小于Blob对象的size属性值,则终了复制位置为end参数值j

Blob对象的slice方法的第三个参数为一个字符串值,用于指定新建Blob对象中数据的MIME类型。

创建BLOB

在HTML 5中,可以直接创建一个代表原始二进制数据的Blob对象。创建方法如下: