赞
踩
Blob全称为binary large object ,即二进制大对象。blob对象本质上是js中的一个对象,里面可以储存大量的二进制编码格式的数据。Blob对象的特点:
new Blob(array,options)
array:由ArrayBuffer、ArrayBufferView、Blob、DOMString等对象构成的,将会被放进Blob;
options:
MIME类型 | 描述 |
text/plain | 纯文本文档 |
text/html | HTML文档 |
text/javascript | JavaScript文档 |
text/css | CSS文件 |
application/json | JSON文件 |
application/pdf | PDF文件 |
application/xml | XML文件 |
image/jpeg | JPEG图像 |
image/png | PNG图像 |
image/gif | GIF图像 |
image/svg+xml | SVG图像 |
audio/mpeg | MP3文件 |
video/mpeg | MP4文件 |
- let blob = new Blob(['helloworld'],{type:"text/plain"});
- console.log(blob);
Blob的属性
Blob对象内置了slice()方法用来将blob对象分片
其有三个参数
Demo实例:
- let blob1 = blob.slice(0,2,"text/plain");
- console.log(blob1);
ArrayBuffer是一个特殊的数组。本身就是一个黑盒,不能直接读写所存储的数据,需要借助以下视图对象来读写。视图对象包含:
Int8Array、Uint8Array、Int16Array、Uint16Array、Int32Array、Uint32Array、Float32Array、Float64Array、Uint8ClampedArray。
TypeArray视图和DataView视图的区别主要是字节序,前者的数组成员都是同一个数据类型,后者的数组成员可以是不同的数据类型。
- let buffer = new ArrayBuffer(32);
- console.log(buffer);
- let u8 = new Uint8Array(buffer);
- console.log(u8);
- u8[0]=100;
- console.log(u8);
运行结果:
- let buffer = new ArrayBuffer(32);
- console.log(buffer);
- let d8 = new DataView(buffer);
- console.log(d8);
- console.log(d8.getInt8(1));
- //设置
- d8.setInt8(1,100);
- console.log(d8.getInt8(1));
运行结果:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。