HTML第12章-HTML5的文件操作与拖放操作课件1.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《HTML第12章-HTML5的文件操作与拖放操作课件1.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- HTML 12 HTML5 文件 操作 拖放 课件
- 资源描述:
-
1、第第12章章HTML5的文件操作与拖放操作file对象和对象和FileList对象对象1ArrayBuffer对象与对象与ArrayBufferView对象对象2Blob对象对象3FileReader接口接口4拖放拖放API5DataTransfer对象的属性与方法对象的属性与方法6拖放的应用拖放的应用712.1 file对象和FileList对象 在在HTML 5中,为中,为input元素添加元素添加multiple属性,属性,file元元素允许一次选择多个文件,用户选择的每一个文件都是一个素允许一次选择多个文件,用户选择的每一个文件都是一个file对象,而对象,而FileList对象则是这
2、些对象则是这些file对象的列表,代表用对象的列表,代表用户选择的所有文件,是户选择的所有文件,是file对象的集合。对象的集合。1.file对象对象 在页面中指定在页面中指定input元素的元素的type属性为属性为file,可以实现文,可以实现文件的选择功能。选择得到的文件即是件的选择功能。选择得到的文件即是file对象,它有两个属性对象,它有两个属性.name属性表示文件名,不包括路径属性表示文件名,不包括路径;lastModifiedDate属性表示文件的最后修改日期。属性表示文件的最后修改日期。12.1 file对象和FileList对象示例示例121是使用是使用input元素来选择
3、单个文件的示例元素来选择单个文件的示例12.1 file对象和FileList对象2.FileList对象对象 input元素元素的的multiple属性就属性就用于用于选择多个文件,选择多个文件,这些这些文件实际上保存在一个文件实际上保存在一个file数组中,也就是数组中,也就是FileList对象,对象,表示用户选择的文件列表,其中的每个元素都是一个表示用户选择的文件列表,其中的每个元素都是一个file对对象。象。示例示例12-2实现多个文件的选择实现多个文件的选择12.2 ArrayBuffer对象与ArrayBufferView对象1.ArrayBuffer和和ArrayBufferV
4、iew概念概念 ArrayBuffer实际上是实际上是JavaScript操作二进制数据的操作二进制数据的一个接口,它的作用是分配一段可以存放数据的连续内存区一个接口,它的作用是分配一段可以存放数据的连续内存区域。一个域。一个ArrayBuffer对象代表一个固定长度的用于装载对象代表一个固定长度的用于装载数据的缓存区。数据的缓存区。在在HTML 5中,不能直接操作中,不能直接操作ArrayBuffer对象中的内对象中的内容,需要容,需要ArrayBufferView对象来读写。对象来读写。ArrayBufferView对象可以将缓存区中的数据转换为对象可以将缓存区中的数据转换为各种数据类型的
5、数组。各种数据类型的数组。12.2 ArrayBuffer对象与ArrayBufferView对象2.ArrayBuffer对象对象 ArrayBuffer对象代表一个存储固定长度的二进制数据对象代表一个存储固定长度的二进制数据的缓冲存区。不能直接存取的缓冲存区。不能直接存取ArrayBuffer缓存区中的内容缓存区中的内容,必须通过,必须通过ArrayBufferView对象来读写对象来读写ArrayBuffer缓存区中的内容。缓存区中的内容。在在HTML 5中,使用中,使用ArrayBuffer的构造方法可以创建的构造方法可以创建ArrayBuffer对象。对象。var arrayBuff
6、er=new ArrayBuffer(length);12.2 ArrayBuffer对象与ArrayBufferView对象3.ArrayBufferView对象对象(1)ArrayBufferView对象概述对象概述 由于由于ArrayBuffer对象不提供任何直接读写内存的方法,对象不提供任何直接读写内存的方法,而而ArrayBufferView对象实际上是建立在对象实际上是建立在ArrayBuffer对象基础上的视图,它指定了原始二进制数据的基本处理单对象基础上的视图,它指定了原始二进制数据的基本处理单元,通过元,通过ArrayBufferView对象来读取对象来读取ArrayBuff
7、er对对象的内容。象的内容。表表12-1 ArrayBuffer对象存储的视图对象存储的视图类型类型字字节长节长度度描述描述类型类型字字节长节长度度描述描述Int8Array18位整数数组位整数数组Int32Array432位整数数组位整数数组Uint8Array18位无符号整数数组位无符号整数数组Uint32Array432位无符号整数数组位无符号整数数组Uint8ClampedArray18位无符号整数数组位无符号整数数组Float32Array432位位IEEE浮点数数组浮点数数组Int16Array216位整数数组位整数数组Float 64Array864位位IEEE浮点数数组浮点数数
8、组Uint16Array216位无符号整数数组位无符号整数数组 12.2 ArrayBuffer对象与ArrayBufferView对象(2)ArrayBufferView对象的生成对象的生成 ArrayBufferView对象的每一个子类均有多种方法可对象的每一个子类均有多种方法可以生成。以生成。v在在ArrayBuffer对象之上生成视图对象之上生成视图/创建一个创建一个8字节的字节的ArrayBuffervar b=new ArrayBuffer(8);/创建一个指向创建一个指向b的的Int32视图,开始于字节视图,开始于字节0,直到缓冲区的末尾,直到缓冲区的末尾var v1=new I
9、nt32Array(b);/创建一个指向创建一个指向b的的Uint8视图,开始于字节视图,开始于字节2,直到缓冲区的末尾,直到缓冲区的末尾var v2=new Uint8Array(b,2);/创建一个指向创建一个指向b的的Int16视图,开始于字节视图,开始于字节2,长度为,长度为2var v3=new Int16Array(b,2,2);12.2 ArrayBuffer对象与ArrayBufferView对象v直接生成直接生成var f64a=new Float64Array(8);f64a0=10;f64a1=20;f64a2=f64a0+f64a1;v将普通数组转为视图数组将普通数组转
10、为视图数组将一个数据类型符合要求的普通数组,传入构造方法,也能将一个数据类型符合要求的普通数组,传入构造方法,也能直接生成视图,视图可以由一个类型化数组引用。直接生成视图,视图可以由一个类型化数组引用。var typedArray=new Uint8Array(1,2,3,4 );12.2 ArrayBuffer对象与ArrayBufferView对象3 ArrayBufferView对象对象(3)ArrayBufferView对象的操作对象的操作v数组操作数组操作var buffer=new ArrayBuffer(16);var int32View=new Int32Array(buffe
11、r);for(var i=0;iint32View.length;i+)int32Viewi=i*2;12.2 ArrayBuffer对象与ArrayBufferView对象vbuffer属性的使用属性的使用var a=new Float32Array(64);var b=new Uint8Array(a.buffer);vbyteLength属性和属性和byteOffset属性的使用属性的使用var b=new ArrayBuffer(8);/v1.byteLength=8,v1.byteOffset=0var v1=new Int32Array(b);/v2.byteLength=6,v2
12、.byteOffset=2var v2=new Uint8Array(b,2);/v3.byteLength=4,v3.byteOffset=2var v3=new Int16Array(b,2,2);12.2 ArrayBuffer对象与ArrayBufferView对象3 ArrayBufferView对象对象(4)DataView对象对象 DataView视图提供更多操作选项,而且支持设定字节视图提供更多操作选项,而且支持设定字节序。从设计目的而言,序。从设计目的而言,ArrayBuffer对象的各种类型化视对象的各种类型化视图,是用来向网卡、声卡之类的本机设备传送数据,所以使图,是用来
13、向网卡、声卡之类的本机设备传送数据,所以使用本机的字节序就可以了;用本机的字节序就可以了;而而DataView的设计目的,是用来处理网络设备传来的的设计目的,是用来处理网络设备传来的数据,所以大端字节序或小端字节序是可以自行设定的。数据,所以大端字节序或小端字节序是可以自行设定的。12.2 ArrayBuffer对象与ArrayBufferView对象vDataView对象的生成对象的生成DataView本身也是构造方法,接受一个本身也是构造方法,接受一个ArrayBuffer对对象作为参数,生成视图,构造象作为参数,生成视图,构造DataView对象的语法格式对象的语法格式如下。如下。Dat
14、aView(ArrayBuffer buffer,start,length);下面是一个构造下面是一个构造DataView对象的示例。对象的示例。var buffer=new ArrayBuffer(24);var dv=new DataView(buffer);12.2 ArrayBuffer对象与ArrayBufferView对象vDataView对象读取内存的方法对象读取内存的方法表表12-2 DataView视图读取内存的方法视图读取内存的方法方法方法功能功能方法方法功能功能getInt8()读取读取1个字节,返回一个个字节,返回一个8位整数位整数getInt32()读取读取4个字节,
15、返回一个字节,返回一个个32位整数位整数getUint8()读取读取1个字节,返回一个个字节,返回一个无符号的无符号的8位整数位整数getUint32()读取读取4个字节,返回一个字节,返回一个无符号的个无符号的32位整数位整数getInt16()读取读取2个字节,返回一个个字节,返回一个16位整数位整数getFloat32()读取读取4个字节,返回一个字节,返回一个个32位浮点数位浮点数getUint16()读取读取2个字节,返回一个个字节,返回一个无符号的无符号的16位整数位整数getFloat64()读取读取8个字节,返回一个字节,返回一个个64位浮点数位浮点数12.2 ArrayBuf
16、fer对象与ArrayBufferView对象vDataView对象读取内存的方法对象读取内存的方法表表12-3 DataView视图写内存的方法视图写内存的方法方法方法功能功能方法方法功能功能setInt8()写入写入1个字节的个字节的8位整数位整数setInt32()写入写入4个字节的个字节的32位位整数整数setUint8()写入写入1个字节的个字节的8位无符位无符号整数号整数setUint32()写入写入4个字节的个字节的32位位无符号整数无符号整数setInt16()写入写入2个字节的个字节的16位整位整数数setFloat32()写入写入4个字节的个字节的32位位浮点数浮点数set
17、Uint16()写入写入2个字节的个字节的16位无位无符号整数符号整数setFloat64()写入写入8个字节的个字节的64位位浮点数浮点数12.3 Blob对象12.3.1 使用使用Blob对象获取文件大小和类型对象获取文件大小和类型 Blob表示二进制原始数据,表示二进制原始数据,Blob对象有两个属性,对象有两个属性,size属性表示一个属性表示一个Blob对象的字节长度,对象的字节长度,type属性表示属性表示Blob对象的对象的MIME类型,如果是未知类型,则返回空字符串。类型,如果是未知类型,则返回空字符串。1size属性属性 表示表示Blob对象的字节长度。对象的字节长度。2ty
展开阅读全文