1.File API

一直以来,不能直接访问用户计算机中的文件都是web应用开发当中的一大障碍。File API的宗旨是为web开发人员提供一种安全的方式,以便在客户端访问用户计算机中的文件,并更好的对这些文件进行操作。

HTML5在DOM中为文件输入元素添加了一个files的集合,在通过文件输入字段选择了一个或多个文件时,files集合中将包含一组File对象 ,每个File对象对应着一个文件,每个File对象都有下列只读对象。

name:本地文件系统中的文件名。

size:文件的字节大小

type: 字符串,文件的MIME类型

lastModifiedDate: 文件上一次被修改时间

window.onload = function() {

var filesList = document.getElementById("fileList");

filesList.addEventListener('change', function(event) {

var files = event.target.files,

i=0,

len = files.length;

while(i

alert(files[i].name);

i++;

}

});

};

不过file API的功能不仅仅如此,通过他提供的FIleReader类型甚至还可以读取文件中的数据

FileReader类型实现的是一种异步文件读取机制,方法如下:

1.readAsText(file,encoding)  以纯文本形式读取文件,将读取的文件保存到result属性中。

2.readAsDataURL(file)  读取文件将文件以数据URI的形式保存在result中

3.readAsBinaryString(file)  读取文件并将一个字符串保存在result属性中。字符串中每个字符表示一字节

4.readAsArrayBuffer(file)读取文件并将一个包含文件内容的ArrayBuffer保存在result中。

window.onload = function() {

var filesList = document.getElementById("fileList");

filesList.addEventListener('change', function(event) {

var info ="",

output=document.getElementById("output"),

progress=document.getElementById("progress"),

files = event.target.files,

type= "default",

reader = new FileReader();

if(/image/.test(files[0].type)){

reader.readAsDataURL(files[0]);

type="image";

}else{

reader.readAsText(files[0]);

type="text";

}

reader.error=function(){

output.innerHTML="Could not read file"+reader.error.code;

};

reader.οnprοgress=function(event){

if(event.lengthComputable){

progress.innerHTML=evnet.loaded+"/"+event.total;

}

};

reader.οnlοad=function(){

var html="";

switch(type){

case "image":

html="";

break;

case "text":

html=reader.result;

break;

}

output.innerHTML = html;

};

});

};

output--

progress--

这个读取过程是异步的,因此FileReader也提供了几个事件:

1.progress  是否又读取了新数据

2.error  是否发生错误

3.load 是否已经读取完整个文件。

HTML5 File API — 让前端操作文件变的可能

前言 在 HTML5 File API 出现之前,前端对于文件的操作是非常有局限性的,大多需要配合后端实现.出于安全角度考虑,从本地上传文件时,代码不可能获取文件在用户本地的地址,所以纯前端不可能完成 ...

Resumable.js – 基于 HTML5 File API 的文件上传

Resumable.js 是一个 JavaScript 库,通过 HTML5 文件 API 提供,稳定和可恢复的批量上传功能.在上传大文件的时候通过每个文件分割成小块,每块在上传失败的时候,上传会不断 ...

HTML5 File api 实现断点续传

目前市场上大多数的网站的断点上传都是需要安装浏览器插件的,本文就针对高级浏览器的环境下,通过HTML5 File api实现断点上传进行说明 一.实现文件多选 HTML5的新 ...

HTML5 file api读取文件的MD5码工具

1.工具的用途:用HTML5 file api读取文件的MD5码.MD5码在文件的唯一性识别上有很重要的应用,业内常用MD5进行文件识别.文件秒传.文件安全性检查等: 2.适用性:IE.Chrome皆 ...

HTML5 File API 全介绍

在 HTML5 File API 出现之前,前端对于文件的操作是非常有局限性的,大多需要配合后端实现.出于安全角度考虑,从本地上传文件时,代码不可能获取文件在用户本地的地址,所以纯前端不可能完成一些类 ...

HTML5 File API的应用

HTML5 File API简介 HTML5File API协议族 Directories and System   文件系统和目录读取 FileWriter   写入文件 FileReader   ...

HTML5 file API加canvas实现图片前端JS压缩并上传

一.图片上传前端压缩的现实意义 对于大尺寸图片的上传,在前端进行压缩除了省流量外,最大的意义是极大的提高了用户体验. 这种体验包括两方面: 由于上传图片尺寸比较小,因此上传速度会比较快,交互会更加流畅 ...

图片上传插件ImgUploadJS:用HTML5 File API 实现截图粘贴上传、拖拽上传

一 . 背景及效果 当前互联网上传文件最多的就是图片文件了,但是传统web图片的截图上传需要:截图保存->选择路径->保存后再点击上传->选择路径->上传->插入. 图片 ...

HTML5 File API解读

1,概述 Web应用应该具备处理广泛用户输入问题的能力,例如在Web富应用中,用户希望上传文件到服务器.File API定义了访问文件的基本操作途径,包括文件.文件列表集.错误处理等,同时,File ...

随机推荐

[LeetCode] Summary Ranges 总结区间

Given a sorted integer array without duplicates, return the summary of its ranges. For example, give ...

Android成长日记-ViewPager的使用

ViewPager在安卓应用中主要用于作为程序的引导页面,欢迎页面,以及其他的动画效果,下面将给你讲述ViewPager的使用 在Android3.0以上的Api中,提供了ViewPager的接口,所 ...

C/S架构程序多种类服务器之间实现单点登录(转)

(一) 在项目开发的过程中,经常会出现这样的情况:我们的产品包括很多,以QQ举例,如登陆.好友下载.群下载.网络硬盘.QQ游戏.QQ音乐等,总不能要求用户每次输入用户名.密码吧,为解决这个问题,高手提 ...

[iOS基础控件 - 6.7.1] 微博展示 代码

Controller: // // ViewController.m // Weibo // // Created by hellovoidworld on 14/12/4. // Copyrig ...

android图片处理方法(转)

//压缩图片大小 public static Bitmap compressImage(Bitmap image) { ByteArrayOutputStream baos = new ByteArr ...

Page_Load接收随机参数放到字典类中

Page_Load接收随机参数放到字典类中,可以用作签名.普通的接收url的参数可以用作下面这种模式:  int appid =Convert.ToInt32(param["appid&qu ...

欲练JS,必先攻CSS——前端修行之路

今天我讲的主题是css,具体聊一下我大概的css学习历史,分享一些干货,希望这次分享对大家有所启发和帮助. 个人的css历史: 说说自己的css学习的历史,12年,当时是老师手把手1对1教我div+f ...

pip无法正常使用卸载并重新安装

错误提示 ➜ ~ pip Traceback (most recent call last): File "/usr/bin/pip", line 11, in

自动化测试之selenium工具简单介绍

一.selenium简单介绍 1.selenium的成员 2.selenium工作原理 二.webdrive 常见元素定位

html5的file api,HTML5 File API相关推荐

  1. php html5 api,HTML5 File API解读

    1,概述 Web应用应该具备处理广泛用户输入问题的能力,例如在Web富应用中,用户希望上传文件到服务器.File API定义了访问文件的基本操作途径,包括文件.文件列表集.错误处理等,同时,File ...

  2. html5 dom api,HTML5 DOM File API

    访问选中的文件 简单的html代码: 通过File API,我们可以在用户选取一个或者多个文件之后(如果你的程序可以让用户选择多个文件,记得要在input元素上加上multiple属性),访问到代表了 ...

  3. 《HTML5实战》——1.4 其他API和规范

    本节书摘来自异步社区<HTML5实战>一书中的第1章,第1.4节,作者: [美]Rob Crowther , Joe Lennon , Ash Blue , Grey Wanish 更多章 ...

  4. JavaScript基础知识总结 14:学习JavaScript中的File API、Streams API、Web Cryptography API

    目录 一.Atomics和SharedArrayBuffer 二.原子操作基础 1.算术及位操作方法 2.原子读和写 3.原子交换 4.原子Futex操作与加锁 三.跨上下文消息 四.Encoding ...

  5. HTML5 Audio标签方法和函数API介绍

     问说网 > 文章教程 > 网页制作 > HTML5 Audio标签方法和函数API介绍 Audio APIHTML5HTML5 Audio预加载 HTML5 Audio标签方法和函 ...

  6. html5在线api,HTML5 历史记录API

    HTML5 历史记录API HTML5历史记录API的使用方法,在线实例演示HTML5历史记录API如何使用.浏览器的兼容性.语法定义及它的属性值详细资料等. HTML5历史记录API使您可以通过Ja ...

  7. atitit.js javascript 调用c# java php后台语言api html5交互的原理与总结p97

    atitit.js javascript 调用c# java php后台语言api html5交互的原理与总结p97 1. 实现html5化界面的要解决的策略1 1.1. Js交互1 1.2. 动态参 ...

  8. java swing调用H5_atitit.js javascript 调用c# java php后台语言api html5交互的原理与总结p97...

    atitit.js javascript 调用c# java php后台语言api html5交互的原理与总结p97 1.实现html5化界面的要解决的策略 1.1.Js交互 Firefox与Chro ...

  9. html5 地理api,HTML5地理定位-Geolocation API

    HTML5提供了一组Geolocation API,来自navigator定位对象的子对象,获取用户的地理位置信息 Geolocation API使用方法: 1.判断是否支持 navigator.ge ...

  10. html5 geolocation 百度地图,html5 geolocation配合百度地图api实现定位

    1.了解html5 geolocation HTML5 Geolocation(地理定位)用于定位用户的位置. 鉴于该特性可能侵犯用户的隐私,除非用户同意,否则用户位置信息是不可用的.=> 使用 ...

最新文章

  1. 链客区块链技术问答社区
  2. 如何让智能客服成为企业的生产力工具?
  3. java jigsaw_Java 9和Project Jigsaw如何破坏您的代码
  4. 《JSON笔记之三》---postman中传入json串
  5. eclipse里source的快捷方法_教你如何在Linux中设置快捷方式图标
  6. 数据库表结构设计方法
  7. liferay+portlet+开发实例
  8. 〖Python 数据库开发实战 - MySQL篇㉞〗- 综合案例 - 新闻管理系统数据库设计的基本属性
  9. 程序员面试宝典(一) - 流程概览
  10. 如何利用ORIGIN拟合曲线
  11. 不容错过 食材VRay材质球素材推荐
  12. SQL Server 2000 数据库安装与配置图文教程
  13. QQ截屏快速获取像素颜色
  14. python爬虫爬取淘宝网页
  15. 爬虫数据储存—CSV文件
  16. 你还在关注 AGV,而 AMR 已经悄然崛起
  17. java数据类型有哪些(给博主倒一杯卡布奇诺)
  18. bug记录-socket hang up
  19. 逍遥模拟器拷贝android根目录文件,逍遥安卓模拟器下载的文件在哪里?
  20. 初始化Linux数据盘

热门文章

  1. 安兔兔html5测试35000,安兔兔评测 8.4.3 安卓版
  2. java 正则表达式 替换 html,java 正则表达式 替换 html
  3. linux添加磁盘分区,linux添加磁盘分区
  4. java filechannel 并发_java.nio中的Channel系列(2)-FileChannel与零拷贝原理
  5. 【转】js中forEach回调同异步问题
  6. 【转(比较全面)】CSS3弹性盒模型之Flexbox是布局模块box-sizing box-orient box-direction box-ordinal-group
  7. vue 配置sass、scss全局变量
  8. Vue-cli下打包资源相对路径踩坑
  9. Unity3D面试题汇总
  10. 代码回滚:Reset、Checkout、Revert的选择(转)