毕业论文中使用的技术—FileReader接口

用来把文件读入内存,并且读取文件中的数据。

FileReader接口提供了一个异步API,使用该API可以在浏览器主线程中异步访问文件系统,读取文件中的数据

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

无论读取成功或失败,方法并不会返回读取结果,这一结果存储在result属性中。

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

FileReader接口的使用

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


下一篇:FileReader获取文件的base64编码