HTML5之FileReader文件读取接口
FileReader用来把文件读入内存,并且读取文件中的数据。
FileReader接口提供了一个异步API,使用该API可以在浏览器主线程中异步访问文件系统,读取文件中的数据。
1、FileReader接口的方法
FileReader接口有4个方法,其中3个用来读取文件,另一个用来中断读取。无论读取成功或失败,方法并不会返回读取结果,结果存储在result属性中。
| 方法名 | 参数 | 描述 | 
|---|---|---|
| readAsBinaryString | file | 将文件读取为二进制编码 | 
| readAsText | file,[encoding] | 将文件读取为文本 | 
| readAsDataURL | file | 将文件读取为DataURL | 
| abort | (none) | 中断读取操作 | 
2、FileReader接口的事件
FileReader接口包含了一套完整的事件模型,用于捕获读取文件时的状态。
| 事件 | 描述 | 
| onabort | 中断 | 
| onerror | 出错 | 
| onloadstart | 开始 | 
| onprogress | 正在读取 | 
| onload | 成功读取 | 
| onloadend | 读取完成,无论成功失败 | 
3、FileReader接口的使用
<!DOCTYPE html>
<html>
<head>
<title>FileReader接口</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> </head>
<body>
<p>
<label>请选择一个文件:</label>
<input type="file" id="file" />
<input type="button" value="读取图像" onclick="readAsDataURL()" />
<input type="button" value="读取二进制数据" onclick="readAsBinaryString()" />
<input type="button" value="读取文本文件" onclick="readAsText()" />
</p>
<div id="myResult"></div>
</body>
<script type="text/JavaScript"> //判断浏览器是否支持FileReader接口
if(typeof FileReader == 'undefined'){
var myResult = document.getElementById("myResult");
var file = document.getElementById("file");
myResult.InnerHTML = "你的浏览器不支持FileReader接口!";
//使选择控件不可操作
file.setAttribute("disabled","disabled");
} function readAsDataURL(){
//检验是否为图像文件
var file = document.getElementById("file").files[0];
if(!/image\/\w+/.test(file.type)){
alert("看清楚,这个需要图片!");
return false;
}
var reader = new FileReader();
//将文件以Data URL形式读入页面
reader.readAsDataURL(file);
reader.onload = function(e){
var myResult = document.getElementById("myResult");
myResult.innerHTML = "";
//显示读取结果
myResult.innerHTML = '<img src="' + this.result +'" alt="" />';
}
} function readAsBinaryString(){
var file = document.getElementById("file").files[0];
var reader = new FileReader();
//将文件以二进制形式读入页面
reader.readAsBinaryString(file);
reader.onload=function(f){
var myResult = document.getElementById("myResult");
myResult.innerHTML = "";
//显示读取结果
myResult.innerHTML = this.result;
}
} function readAsText(){
var file = document.getElementById("file").files[0];
var reader = new FileReader();
//将文件以文本形式读入页面
reader.readAsText(file);
reader.onload=function(f){
var myResult = document.getElementById("myResult");
myResult.innerHTML = "";
//显示读取结果
myResult.innerHTML = this.result;
}
}
</script>
</html>
HTML5之FileReader文件读取接口的更多相关文章
- HTML5之fileReader异步读取文件及文件切片读取
		
fileReader的方法与事件 fileReade实现图片预加载 fileReade实现文件读取进度条 fileReade的与file.s实现文件切片读取 一.fileReader的方法与事件 1. ...
 - FileReader文件读取API
		
:用来把文件读入内存,并且读取文件中的数据.FileReader接口提供了一个异步API,使用该API可以在浏览器主线程中异步访问文件系统,读取文件中的数据. 1.FileReader接口的方法 Fi ...
 - jmeter接口性能测试【CSV文件读取+接口关联+设置集合点】
		
一.前言 周计划上安排了个接口性能测试的任务,便开始了职业生涯的第一个接口性能测试... 接口进行压测之前,首先需要调通脚本.有两种方式,一种是通过抓包工具(如fiddler)抓取业务接口:另一种是通 ...
 - 从零开始学 Web 之 HTML5(三)网络监听,全屏,文件读取,地理定位接口,应用程序缓存
		
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...
 - H5C3--语义标签以及语义标签IE8兼容,表单元素新属性,度量器,自定义属性,dataList,网络监听,文件读取
		
HTML5新增标签以及HTML5新增的api 1.H5并不是新的语言,而是html语言的第五次重大修改--版本 2.支持:所有的主流浏览器都支持h5.(chrome,firefox,s ...
 - HTML5 之 FileReader 方法上传并读取文件
		
原文地址:https://caochangkui.github.io/file-upload/ HTML5 的 FileReader 对象允许Web应用程序异步读取存储在用户计算机上的文件(或原始数据 ...
 - html5中利用FileReader来读取文件。
		
利用FileReader来读取文件的能够来实现即时预览的效果,这个也是在html5中才有的功能. <!DOCTYPE html> <html lang="en"& ...
 - FileReader:读取本地图片文件并显示
		
最近忙得比狗还惨,导致长时间没能更新文章,真心对不住啊.抽空整理了下关于在页面上读取和显示本地图片的实例文章,本文通过实例讲解如何使用支持FileReader浏览器的用户将能够通过一个file inp ...
 - 前端H5中JS用FileReader对象读取blob对象二进制数据,文件传输
		
HTML5中的Blob对象只是二进制数据的容器,本身并不能操作二进制,故本篇将对其操作对象FileReader进行介绍. FileReader FileReader主要用于将文件内容读入内存,通过一系 ...
 
随机推荐
- git push以后GitHub上文件夹灰色 不可点击
			
1.删除本地文件夹里的 .git .gitignore文件 2.如果没成功,就把文件名改下,应该是有缓存,改完名后再add/commit/push
 - TCP与UDP,可靠UDP如何实现
			
两种协议都是传输层协议,为应用层提供信息载体. TCP协议是基于连接的字节流的可靠协议,有三次握手,四次挥手,超时重传,流量控制(滑动窗口),拥塞控制和差错控制,也正因为有可靠性的保证和控制手段,所以 ...
 - html 提取 公用部分
			
在写HTML时,总会遇到一些公用部分,如果每个页面都写那就很麻烦,并且代码量大大增加. 网上查询了几种方法: 1.es6 的 embed 标签. <embed src="header. ...
 - 2018面向对象程序设计(Java)第16周学习指导及要求
			
2018面向对象程序设计(Java)第16周学习指导及要求(2018.12.13-2018.12.16) 学习目标 (1) 掌握线程概念: (2) 掌握线程创建的两种技术: (3) 理解和掌握线程 ...
 - springboot寻找property的顺序
			
Spring Boot uses a very particular PropertySource order that is designed to allow sensible overridin ...
 - Python+Selenium学习--cookie处理
			
场景 有时候我们需要验证浏览器中是否存在某个cookie,因为基于真实的cookie 的测试是无法通过白盒和集成测试完成的.webdriver 可以读取.添加和删除cookie 信息.webdrive ...
 - 364. Nested List Weight Sum II 大小反向的括号加权求和
			
[抄题]: Given a nested list of integers, return the sum of all integers in the list weighted by their ...
 - canvas(五)createPattern
			
/** * Created by xianrongbin on 2017/3/9. * 图片填充 */ var dom = document.getElementById('clock'), ctx ...
 - Object强转为实体类类型失败!!!!!!
			
这是从我CSDN博客直接拿来的图片废话不多说,直接上代码:
 - PHP开发——数据类型
			
概述 l 变量就是一个容器,变量本身并没有类型,变量的类型解决值的类型. l PHP和JS都属于弱类型语言,变量在运行过程中,类型是可以变的.但是,Java不可以. l 标量(基本)数据类型:字 ...