php html5 api,HTML5 File API解读
1,概述
Web应用应该具备处理广泛用户输入问题的能力,例如在Web富应用中,用户希望上传文件到服务器。File API定义了访问文件的基本操作途径,包括文件、文件列表集、错误处理等,同时,File API还定义了描述文件异步处理进程中的一些元数据。接下来,我们一起看看File的应用。
2,FileList接口
接口描述:
1 interface FileList {
2 getter File? item(unsigned long index);
3 readonly attribute unsigned long length;
4 };
由FileList对象实现,它表示上传文件的集合列表。如下:
var fileList = document.forms['formName']['file'].files;
fileList有如下属性:
1,length:表示文件列表长度,即文件数量
fileList有如下方法:
1,index(indexNum):indexNum是文件在文件列表中的位置,从0开始,和普通数组下标一样,如果不存在,则返回null.
3,Blob接口
接口描述:
1 interface Blob {
2
3 readonly attribute unsigned long long size;
4 readonly attribute DOMString type;
5
6 //slice Blob into byte-ranged chunks
7 Blob slice(optional long long start,
8 optional long long end,
9 optional DOMString contentType);
10
11 };
由Bob对象实现,它是一个原始数据对象。如下:
1 // Create a new Blob object
2
3 var a = new Blob();
4
5 // Create a 1024-byte ArrayBuffer
6 // buffer could also come from reading a File
7
8 var buffer = new ArrayBuffer(1024);
9
10 // Create ArrayBufferView objects based on buffer
11
12 var shorts = new Uint16Array(buffer, 512, 128);
13 var bytes = new Uint8Array(buffer, shorts.byteOffset + shorts.byteLength);
14
15 var b = new Blob(["foobarbazetcetc" + "birdiebirdieboo"], {type: "text/plain;charset=UTF-8"});
16
17 var c = new Blob([b, shorts]);
18
19 var a = new Blob([b, c, bytes]);
20
21 var d = new Blob([buffer, b, c, bytes]);
Bolb有如下属性:
1,size:数据的大小
2,type:数据的MIME类型
Bolb有如下方法:
1,slice:用来读取原始数据中的某块数据,详情见如下例子
1 // obtain input element through DOM
2
3 var file = document.getElementById('file').files[0];
4 if(file)
5 {
6 // create an identical copy of file
7 // the two calls below are equivalent
8
9 var fileClone = file.slice();
10 var fileClone2 = file.slice(0, file.size);
11
12 // slice file into 1/2 chunk starting at middle of file
13 // Note the use of negative number
14
15 var fileChunkFromEnd = file.slice(-(Math.round(file.size/2)));
16
17 // slice file into 1/2 chunk starting at beginning of file
18
19 var fileChunkFromStart = file.slice(0, Math.round(file.size/2));
20
21 // slice file from beginning till 150 bytes before end
22
23 var fileNoMetadata = file.slice(0, -150, "application/experimental");
24 }
4,File接口
接口描述:
1 interface File : Blob {
2 readonly attribute DOMString name;
3 readonly attribute Date lastModifiedDate;
4 };
由File对象实现,它继承自Blob对象,指向一个具体的文件。
File有如下属性:
1,name:文件的名称
2,lastModifiedDate:文件的最后修改时间
5,FileReader接口
接口描述:
1 interface FileReader: EventTarget {
2
3 // async read methods
4 void readAsArrayBuffer(Blob blob);
5 void readAsBinaryString(Blob blob);
6 void readAsText(Blob blob, optional DOMString encoding);
7 void readAsDataURL(Blob blob);
8
9 void abort();
10
11 // states
12 const unsigned short EMPTY = 0;
13 const unsigned short LOADING = 1;
14 const unsigned short DONE = 2;
15
16
17 readonly attribute unsigned short readyState;
18
19 // File or Blob data
20 readonly attribute any result;
21
22 readonly attribute DOMError error;
23
24 // event handler attributes
25 attribute [TreatNonCallableAsNull] Function? onloadstart;
26 attribute [TreatNonCallableAsNull] Function? onprogress;
27 attribute [TreatNonCallableAsNull] Function? onload;
28 attribute [TreatNonCallableAsNull] Function? onabort;
29 attribute [TreatNonCallableAsNull] Function? onerror;
30 attribute [TreatNonCallableAsNull] Function? onloadend;
31
32 };
由FileReader对象实现,用来读取文件里面的数据,提供三个常用的读取文件数据的方法,另外读取文件数据也提供了异步方式。
FileReader属性列表:
事件列表
事件说明
onloadstart
文件读取开始时触发
onprogress
当读取进行中时定时触发。事件参数中会含有已读取总数据量。
onabort
当读取被中止时触发。
onerror
当读取出错时触发。
onload
当读取成功完成时触发。
onloadend
当读取完成时,无论成功或者失败都会触发
FileReader方法列表:
方法列表
方法说明
readAsBinaryString()
读取文件内容,读取结果为一个 binary string。文件每一个 byte 会被表示为一个 [0..255] 区间内的整数。函数接受一个 File 对象作为参数。
readAsText()
读取文件内容,读取结果为一串代表文件内容的文本。函数接受一个 File 对象以及文本编码名称作为参数。
readAsDataURL
读取文件内容,读取结果为一个 data: 的 URL。DataURL 由 RFC2397 定义
php html5 api,HTML5 File API解读相关推荐
- php 下 html5 XHR2 + FormData + File API 上传文件
FormData的作用: FormData对象可以帮助我们自动的打包表单数据,通过XMLHttpRequest的send()方法来提交表单.当然FormData也可以动态的append数据.FormD ...
- 学习File API用于前端读取文件
1. File API简介 File API对于某些专门的网站的不可或缺的.现在常用它实现对文件的预览等功能. File API规定怎么从硬盘上提取文件,直接交给在网页中运行中的Javascript代 ...
- HTML5 file api读取文件的MD5码工具
1.工具的用途:用HTML5 file api读取文件的MD5码.MD5码在文件的唯一性识别上有很重要的应用,业内常用MD5进行文件识别.文件秒传.文件安全性检查等: 2.适用性:IE.Chrome皆 ...
- Resumable.js - 基于HTML5 File API的可断点续传的文件上传插件
http://resumablejs.com/ A JavaScript library providing multiple simultaneous, stableand resumable up ...
- HTML加js实现计算文件哈希值,HTML5 File API 配合 Web Worker 计算大文件 SHA3 Hash 值
这学期的安全学课程有个作业,内容是写一个软件实现 SHA3 Hash 值的快速计算.想一想老师这么安排,大致上也有一种推广新的密码学算法的意图.既然希望应用起来,天然跨平台的 Web 显然是一项非常具 ...
- 基于html5 File API文件操作
文章来源:小青年原创 发布时间:2016-08-16 关键词:blob,File,FileReader,DataURI,URL 转载需标注本文原始地址: http://zhaomenghuan. ...
- html读取url中文件,HTML5基础知识 - JavaScript API - File - 读取文件为DataURL
JavaScript 语言: JaveScriptBabelCoffeeScript 确定 // Content section used alot var content = document.ge ...
- html5 dom api,HTML5 DOM File API
访问选中的文件 简单的html代码: 通过File API,我们可以在用户选取一个或者多个文件之后(如果你的程序可以让用户选择多个文件,记得要在input元素上加上multiple属性),访问到代表了 ...
- HTML5关于上传API的一些使用(上)
HTML5提供了很多有用的API,其中就包括上传的API,XMLHttpRequest2.0,在HTML5时代之前,需要进行二进制的上传一般都会才用flash的方案,但是当XMLHttpRequest ...
最新文章
- ???既然post可以将form 表单的数据提交到 jsp页面上面显示出来,为什么还要提交到servlet页面...
- Matlab-PEAKS函数曲线
- c#实现分组服务器,单一无重复生成ID
- Navicat连接MySQL8.0出现2059错误
- 阿里开发规范文档_华为阿里等技术专家15年开发经验总结:SSM整合开发实战文档...
- 了解使用JavaScript进行面向对象编程的基础(并增强您的编码…
- leetcode176. 第二高的薪水(SQL)
- android触摸效果,Android UI实现单行文本水平触摸滑动效果
- HTML section元素
- List和Set中忽略的方法addAll(Collection c)和retainAll(Collection c)
- echarts实现数据可视化
- 毕业一年后,我为什么选择去香港做IT?
- 数据结构大作业-DBLP科学文献管理系统(三)聚团分析(并查集,最大团问题)
- 为什么最近iOS开发岗位那么多(第一篇)
- 程序员掉入传销组织用“代码”求救,同事秒懂
- 阿里云大数据型实例规格族d1配置性能详解
- 【STC15控制WS2812 RGB彩灯级联】
- 特斯拉与Uber达成协议,为Uber伦敦司机提供电动汽车
- jmeter接口自动化,你敢想,我敢玩
- python怎么编写口算题_来出口算题—— Python编程
热门文章
- java 往excel中写数据库,poi将数据写入excel表格-怎么用java把数据库里的数据写入到excel表中...
- 武汉锅检所检测机器人_宿迁水上行走管道检测机器人CCTV-武汉天仪仪器
- 微服务 mysql 连接池_【mysql】druid,连接池和微服务的问题
- SET CONSTRAINTS DEFERRED | IMMEDIATE
- 上传图片至服务器,写入到数据库Blob字段中,以及从数据库读取Blob信息(iframe父子页面传值)(2)
- android通讯录备份恢复代码逻辑
- Android开发:setAlpha()方法和常用RGB颜色表----颜色, r g b分量数值(int), 16进制表示 一一对应
- Linux基本操作和知识
- 基于JAVA+SpringMVC+Mybatis+MYSQL的OA办公系统
- 学生管理系统php网站,学生信息管理系统 网站之modify.php