html5的file api,HTML5 File API
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相关推荐
- php html5 api,HTML5 File API解读
1,概述 Web应用应该具备处理广泛用户输入问题的能力,例如在Web富应用中,用户希望上传文件到服务器.File API定义了访问文件的基本操作途径,包括文件.文件列表集.错误处理等,同时,File ...
- html5 dom api,HTML5 DOM File API
访问选中的文件 简单的html代码: 通过File API,我们可以在用户选取一个或者多个文件之后(如果你的程序可以让用户选择多个文件,记得要在input元素上加上multiple属性),访问到代表了 ...
- 《HTML5实战》——1.4 其他API和规范
本节书摘来自异步社区<HTML5实战>一书中的第1章,第1.4节,作者: [美]Rob Crowther , Joe Lennon , Ash Blue , Grey Wanish 更多章 ...
- JavaScript基础知识总结 14:学习JavaScript中的File API、Streams API、Web Cryptography API
目录 一.Atomics和SharedArrayBuffer 二.原子操作基础 1.算术及位操作方法 2.原子读和写 3.原子交换 4.原子Futex操作与加锁 三.跨上下文消息 四.Encoding ...
- HTML5 Audio标签方法和函数API介绍
问说网 > 文章教程 > 网页制作 > HTML5 Audio标签方法和函数API介绍 Audio APIHTML5HTML5 Audio预加载 HTML5 Audio标签方法和函 ...
- html5在线api,HTML5 历史记录API
HTML5 历史记录API HTML5历史记录API的使用方法,在线实例演示HTML5历史记录API如何使用.浏览器的兼容性.语法定义及它的属性值详细资料等. HTML5历史记录API使您可以通过Ja ...
- 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. 动态参 ...
- 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 ...
- html5 地理api,HTML5地理定位-Geolocation API
HTML5提供了一组Geolocation API,来自navigator定位对象的子对象,获取用户的地理位置信息 Geolocation API使用方法: 1.判断是否支持 navigator.ge ...
- html5 geolocation 百度地图,html5 geolocation配合百度地图api实现定位
1.了解html5 geolocation HTML5 Geolocation(地理定位)用于定位用户的位置. 鉴于该特性可能侵犯用户的隐私,除非用户同意,否则用户位置信息是不可用的.=> 使用 ...
最新文章
- 链客区块链技术问答社区
- 如何让智能客服成为企业的生产力工具?
- java jigsaw_Java 9和Project Jigsaw如何破坏您的代码
- 《JSON笔记之三》---postman中传入json串
- eclipse里source的快捷方法_教你如何在Linux中设置快捷方式图标
- 数据库表结构设计方法
- liferay+portlet+开发实例
- 〖Python 数据库开发实战 - MySQL篇㉞〗- 综合案例 - 新闻管理系统数据库设计的基本属性
- 程序员面试宝典(一) - 流程概览
- 如何利用ORIGIN拟合曲线
- 不容错过 食材VRay材质球素材推荐
- SQL Server 2000 数据库安装与配置图文教程
- QQ截屏快速获取像素颜色
- python爬虫爬取淘宝网页
- 爬虫数据储存—CSV文件
- 你还在关注 AGV,而 AMR 已经悄然崛起
- java数据类型有哪些(给博主倒一杯卡布奇诺)
- bug记录-socket hang up
- 逍遥模拟器拷贝android根目录文件,逍遥安卓模拟器下载的文件在哪里?
- 初始化Linux数据盘
热门文章
- 安兔兔html5测试35000,安兔兔评测 8.4.3 安卓版
- java 正则表达式 替换 html,java 正则表达式 替换 html
- linux添加磁盘分区,linux添加磁盘分区
- java filechannel 并发_java.nio中的Channel系列(2)-FileChannel与零拷贝原理
- 【转】js中forEach回调同异步问题
- 【转(比较全面)】CSS3弹性盒模型之Flexbox是布局模块box-sizing box-orient box-direction box-ordinal-group
- vue 配置sass、scss全局变量
- Vue-cli下打包资源相对路径踩坑
- Unity3D面试题汇总
- 代码回滚:Reset、Checkout、Revert的选择(转)