博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
读取文件
阅读量:6823 次
发布时间:2019-06-26

本文共 2131 字,大约阅读时间需要 7 分钟。

用来把文件读入内存,并且读取文件中的数据。FileReader接口提供了一个异步API,使用该API可以在浏览器主线程中异步访问文件系统,读取文件中的数据。到目前文职,只有FF3.6+和Chrome6.0+实现了FileReader接口。

1、FileReader接口的方法

FileReader接口有4个方法,其中3个用来读取文件,另一个用来中断读取。无论读取成功或失败,方法并不会返回读取结果,这一结果存储在result属性中。

 

FileReader接口的方法
方法名 参数 描述
readAsBinaryString file 将文件读取为二进制编码
readAsText file,[encoding] 将文件读取为文本
readAsDataURL file 将文件读取为DataURL
abort (none) 终端读取操作

 

 

2、FileReader接口事件

FileReader接口包含了一套完整的事件模型,用于捕获读取文件时的状态。

 

FileReader接口的事件
事件 描述
onabort 中断
onerror 出错
onloadstart 开始
onprogress 正在读取
onload 成功读取
onloadend 读取完成,无论成功失败

 

 

3、FileReader接口的使用

 

[html]   
 
  1. <script type="text/javascript">  
  2. var result=document.getElementById("result");  
  3. var file=document.getElementById("file");  
  4.   
  5. //判断浏览器是否支持FileReader接口  
  6. if(typeof FileReader == 'undefined'){  
  7.     result.InnerHTML="<p>你的浏览器不支持FileReader接口!</p>";  
  8.     //使选择控件不可操作  
  9.     file.setAttribute("disabled","disabled");  
  10. }  
  11.   
  12. function readAsDataURL(){  
  13.     //检验是否为图像文件  
  14.     var file = document.getElementById("file").files[0];  
  15.     if(!/image\/\w+/.test(file.type)){  
  16.         alert("看清楚,这个需要图片!");  
  17.         return false;  
  18.     }  
  19.     var reader = new FileReader();  
  20.     //将文件以Data URL形式读入页面  
  21.     reader.readAsDataURL(file);  
  22.     reader.οnlοad=function(e){  
  23.         var result=document.getElementById("result");  
  24.         //显示文件  
  25.         result.innerHTML='<img src="' + this.result +'" alt="" />';  
  26.     }  
  27. }  
  28.   
  29. function readAsBinaryString(){  
  30.     var file = document.getElementById("file").files[0];  
  31.     var reader = new FileReader();  
  32.     //将文件以二进制形式读入页面  
  33.     reader.readAsBinaryString(file);  
  34.     reader.οnlοad=function(f){  
  35.         var result=document.getElementById("result");  
  36.         //显示文件  
  37.         result.innerHTML=this.result;  
  38.     }  
  39. }  
  40.   
  41. function readAsText(){  
  42.     var file = document.getElementById("file").files[0];  
  43.     var reader = new FileReader();  
  44.     //将文件以文本形式读入页面  
  45.     reader.readAsText(file);  
  46.     reader.οnlοad=function(f){  
  47.         var result=document.getElementById("result");  
  48.         //显示文件  
  49.         result.innerHTML=this.result;  
  50.     }  
  51. }  
  52. </script>  
  53. <p>  
  54.     <label>请选择一个文件:</label>  
  55.     <input type="file" id="file" />  
  56.     <input type="button" value="读取图像" οnclick="readAsDataURL()" />  
  57.     <input type="button" value="读取二进制数据" οnclick="readAsBinaryString()" />  
  58.     <input type="button" value="读取文本文件" οnclick="readAsText()" />  
  59. </p>  
  60. <div id="result" name="result"></div>  

 

转载于:https://www.cnblogs.com/leijuan/p/7056499.html

你可能感兴趣的文章
【转】俞军给淘宝产品经理的分享
查看>>
Thrift使用实例
查看>>
Nand flash uboot 命令详解【转】
查看>>
曲线的奇点
查看>>
【Linux】了解服务器的情况
查看>>
解决Spring配置文件不显示design和source, namespace 问题
查看>>
Efficiently traversing InnoDB B+Trees with the page directory--slot
查看>>
算法笔记_191:历届试题 大臣的旅费(Java)
查看>>
乐为物联网平台初步体验(1)
查看>>
利用ArcGIS水文分析工具提取河网
查看>>
看58同城9月招聘季 大数据显示蓝领薪酬更高
查看>>
跳台阶
查看>>
栈1--出栈序列
查看>>
原码 补码
查看>>
ListView setOnItemClickListener无效原因分析
查看>>
DD测磁盘读写性能
查看>>
CUDA编程(六)进一步并行
查看>>
UML类图和时序图
查看>>
C#中的Form,textBox,Bitmap,PictureBox,Button,WebBrowser
查看>>
Oracle Restart能够用来给Oracle GoldenGate 做 High Availability 使用么?
查看>>