HTNL5 类型化数组

类型化数组可以表示可编制索引和操作arrayBuffer对象的各种视图。

Int8Array

Uint8Array

Int16Array

Uint16Array

Int32Array

Uint32Array

Float32Array

Float64Array


PS: 

Int 是整形

Uint是无符号整形

Float是浮点型


DataView对象


DOMString 指的是UTF-16字符串


FormData 对象

formData最大的特点可以异步上传一个二进制文件。


formData.append(key,value);


void append(DOMString,Blob,[DOMString文件名]) // DOMString文件名如果为空的话,会被blob替换掉的。

void append(DOMString,DOMString)  


Blob对象

一个Blob对象就是一个包含有只读原始数据的类文件对象,Blob对象中的数据不一定是javascript中的原生形式,File接口基于Blob,继承Blob功能,并且扩展支持了用户计算机上的本地文件。

创建Blob对象的几种方式

   1.调用Blob的构造函数

   2.使用一个已经有的Blob对象上的slice方法切出另外一个Blob对象

    3.使用canvas对象上的toBlob方法


更多的实现是图片的二进制形式的上传和下载,实现任意文件的上传和下载。


对于新建Blob对象  属性

size:Blob对象中所包含数据的大小,字节为单位,只读。 

 type: 该对象所包含的MIME类型,只读。

构造函数

Blob([array parts],[blobpropertyBag properties])

array parts:添加到Blob对象中的数据,支持ArrayBuffer,ArrayBufferView,Blob,DOMString

blobpropertyBag properties: 目前只支持一个type属性,表示Blob的类型


File对象

可以使用<input type='file'> 也可以使用拖拽搞出的DataTransfer对象

这里的file也是二进制文件,从属于Blob对象。

属性

lastModifiedData

name

size

type

方法

使用    FileReader.readAsBinaryString 方法


arrayBuffer

存储二进制数据的原始缓冲区

对于arrayBuffer 本身是不支持读写的,需要借助类型化数组或者dataView对象来解释原始缓冲区。


DataView对象

dataView对象可以在arrayBuffer中的任何位置读取和写入不同类型的二进制数据。



######################################################################################

var blob = new Blob([new Unit8Array(data)],{type:'octet/stream'})




你可能感兴趣的:(html5)