首页 > 编程知识 正文

blob和clob数据类型,blob字段类型

时间:2023-05-06 12:50:59 阅读:204502 作者:2125

JavaScript中有一种专门存放二进制数据的数据类型对象,叫blob,是从HTML5引入的。
blob的英文名称为Binary Large Object,即二进制的大型对象。
File对象继承自blob对象,并有一些额外的拓展功能。

创建方法 利用构造函数Blob(array, options)

array: 必需,数组类型,其中数组元素是二进制对象或者字符串;
options: 可选,对二进制数据的MIME类型说明,包含两个属性,type和endings;

var blob = new Blob(['Hello World'], {type: 'text/plain', // MIME类型说明endings: 'transparent' // 默认transparent,还可以为native;}) slice(start[, end[, contentType ]]])

从一个源blob对象生成一个新blob对象,包含了源blob对象中指定范围的数据,以字节为单位。
start: 数据起始位置,默认为0;
end: 数据结束位置,默认为blob对象的size属性;
contentType: 规定新的blob对象的MIME类型,即给type属性传入该值;

属性(都是可读)

size:返回当前对象的字节长度;
type:返回数据的MIME类型;

读取数据

从blob对象中读取数据的唯一方法就是利用FileReader对象的方法,不同的方法针对读取后的数据类型,如readAsArrayBuffer()方法将数据读取为类型数组;

应用场景 大文件分段上传

将大文件用slice()方法切割成段,分段上传;

通过URL下载文件

创建标签元素,将文件内容用blob构造函数创建为blob对象;
用window对象的属性URL对象的方法createObjectURL(),传入刚刚创建的blob对象,返回一个DOMString对象,赋予标签元素的href属性。
设置标签的download属性为下载文件的文件名(加文件扩展名)。
点击标签即可下载;

URL全局对象的应用

URL作为window对象的属性,其中静态方法URL.createObjectURL()方法应用最多,可以用于在浏览器上预览图片和视频,以及下载文件,但不管是图片还是视频,本质上都是二进制数据,这些数据必须是本地硬盘或者是内存中的才行(内存中的数据可以是通过ajax请求得到的)。
URL.createObjectURL()方法将file或者blob转为DOMSring字符串(UTF-16编码),元素的src或者href属性都可以赋值为该DOMString字符串。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。