Blob理论
BLOB (binary large object),二进制大对象,是一个可以存储二进制文件的容器。
在计算机中,BLOB常常是数据库中用来存储二进制文件的字段类型。
BLOB是一个大文件,典型的BLOB是一张图片或一个声音文件,由于它们的尺寸,必须使用特殊的方式来处理(例如:上传、下载或者存放到一个数据库)。
Blob接口代表原始二进制数据,通过Blob对象的slice()方法,可以访问里面的字节数据。Blob接口还有两个属性:size和type。
基本信息
- 中文名
Blob理论
- 外文名
Blob
- 定义
原始二进制数据
- 应用学科
计算机原理
- 系统
计算机
- 属性
size、type
关于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对象。创建方法如下: