- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
目录
文件操作基础知识
实例9-1:在表单中选择单个文件
实例9-5:读取文件内容
实例9-2:通过类型过滤上传文件储方式
实例9-3:通过accept属性过滤选择文件的类型
实例9-4:用readAsDataURL()预览图片
实例9-6:同时上传多个文件
实例9-7:获取文件类型与大小
综合实例:用拖动的方式选择并浏览文件
1
文件操作基础知识
9.1.1 选择单个或多个文件
当创建“file”类型的input元素上传文件时,该元素在页面中不再显示为文本框效果,而是显示为一个“选择文件”的按钮,并且在按钮的右侧显示选择上传文件的名称。因为在初始化页面时没有上传文件,所以会显示为“未选择文件”字样。
HTML5标记语言中,除了可以选择单个上传文件外,还可以同时选择多个上传文件,此功能的具体实现流程如下:
(1)为元素添加multiple属性;
(2)将属性multiple的值设为true。
1
文件操作基础知识
在HTML5页面中,一个文件对应一个File对象,在该对象中存在以下两个重要属性:
name:表示不包含路径的文件名称。
lastModifiedDate:表示最后修改文件的时间。
当使用file类型的input元素选择多个文件时,该元素中就含有多个File对象,从而形成了FileList对象,也就是File对象的列表。Filelist接口有两个重要成员:
item方法:返回Filelist数组的第index个数组元素。
length:数组元素的数量。
1
文件操作基础知识
9.1.2 使用Blob获取文件的类型与大小
在HTML5网页应用中,通过访问Blob对象的方式可以获取上传文件的类型和大小属性。Blob表示二进制数据块,通过接口Blob中的slice方法可以访问指定长度与类型的字节内部数据块。
Blob接口提供了如下所示的两个属性:
size:表示返回数据块的大小。
type:表示返回数据块的MIME类型,如果不能确定数据块的类型,则返回一个空字符串。
Blob接口定义了下面两个方法:
slice:返回从start开始到end结束的contentType数据类型新的Blob对象。
close:关闭Blob对象。
1
文件操作基础知识
9.1.3 FileReader接口
在HTML5网页应用中,FileReader接口提供了一个异步的API,通过这个API不仅可以读取图片文件,而且还可以读取文本或二进制文件。同时,根据该接口提供的事件与方法,可以动态侦察文件读取时的详细状态。
当访问不同文件时,必须重新调用FileReader接口的构造函数。因为每调用一次,FileReader接口都会返回一个新的FileReader对象,只有这样才能访问不同文件的数据。
1
文件操作基础知识
在FileReader接口中,拥有许多用于读取文件或响应事件的方法,例如触发onabort事件时,需要调用abort()方法。FileReader接口中常用方法如右表所示。
FileReader接口的常用方法
1
文件操作基础知识
在HTML5提供的FileReader接口中,包含了很多常用的事件和一套完整的事件处理机制。通过触发这些事件可以清晰地侦听FileReader对象读取文件的详细过程,以便更加精确地定位每次读取文件时的事件先后顺序,为编写事件代码提供有力的支持。接口FileReader中的常用事件如下:
onabort:中断时触发。
onerror:出错时触发。
onload:文件成功读取完毕时触发。
onloadend:文件读取完毕时触发,无论是否失败。
onloadstart:文件开始读取时触发。
onprogress:当文件读取时,周期性地触发。
1
文件操作基础知识
在现实应用中,网页文件通过接口FileReader中的方法进行正常读取工作时,触发事件的先后顺序如下:
onloadstart
onprogress
onload
onloadend
在调用接口FileReader中的方法正常读取文件时,大部分的文件读取过程都集中在onprogress事件中,该事件耗时最长。如果文件在读取过程中出现异常或中止,那么将结束onprogress事件,直接触发onerror或onabort事件,而不会触发onload事件。另外,onload事件是文件读取成功时触发,而onloadend虽然也是文件操作成功时触发,但该事件不论文件读取是否成功,都将触发。由此可见,要想要正确获取文件数据,必须在onload事件中编写代码。
2
实例9-1在表单中选择单个文件
具体实现流程如下:
(1)新建一个HTML5页面,在里面创建一个“file”类型的input元素。
(2)单击input元素的“选择文件”按钮后可以选择一个图片文件。
您可能关注的文档
最近下载
- 人教版数学六年级上册第四单元《比》单元整体作业设计 (3).docx VIP
- 2025年水平定向钻市场调查报告.docx
- IPC J-STD-003D CN 中文目前最新版TOC.pdf VIP
- 2024年杭州钱塘新区产业发展集团有限公司下属公司招聘真题及答案详解(各地真题).docx VIP
- 飞机主动杆结构设计及控制策略研究.doc VIP
- 2024年世界职业院校技能大赛中职组“婴幼儿保育组”赛项考试题库-下(多选、判断题汇总).docx VIP
- 全新版大学英语第三册Unit 1 Changes in the way we live.ppt VIP
- CNAS-CL02-A006:2018 医学实验室质量和能力认可准则在输血医学领域的应用说明.pdf VIP
- xx集团粮食仓储及加工基地可行性研究报告.docx
- 2025医院药品不良反应培训.pptx VIP
文档评论(0)