您现在的位置是:网站首页> 编程资料编程资料
浅谈HTML5 FileReader分布读取文件以及其方法简介HTML与XHTML、以及HTML4与HTML5标签之间的区别简介HTML5的一个显示电池状态的API简介HTML5是什么 HTML5是什么意思 HTML5简介HTML5安全介绍之内容安全策略(CSP)简介HTML5的标签的代码的简单介绍 HTML5标签的简介html5新增的定时器requestAnimationFrame实现进度条功能HTML5新增加的功能详解iPhone5和iOS6上HTML5开发的新增功能html5简介及新增功能介绍
2021-08-29
1642人已围观
简介 本篇文章主要介绍了浅谈HTML5 FileReader分布读取文件以及其方法简介,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文介绍了浅谈HTML5 FileReader分布读取文件以及其方法简介,分享给大家。具体如下:
效果图
老规矩先上效果图

先介绍一下H5中FileReader的一些方法以及事件
FileReader方法
| 名称 | 作用 |
|---|---|
| about() | 终止读取 |
| readAsBinaryString(file) | 将文件读取为二进制编码 |
| readAsDataURL(file) | 将文件读取为DataURL编码 |
| readAsText(file, [encoding]) | 将文件读取为文本 |
| readAsArrayBuffer(file) | 将文件读取为arraybuffer |
FileReader事件
| 名称 | 作用 |
|---|---|
| onloadstart | 读取开始时触发 |
| onprogress | 读取中 |
| onloadend | 读取完成触发,无论成功或失败 |
| onload | 文件读取成功完成时触发 |
| onabort | 中断时触发 |
| onerror | 出错时触发 |
代码
分布读取文件核心思想, 将文件分块以每M进行读取.
HTML部分
Document
loadFile.js部分
/* * 文件读取模块 * file 文件对象 * events 事件回掉对象 包含 success , load, progress */ var FileLoader = function (file, events) { this.reader = new FileReader(); this.file = file; this.loaded = 0; this.total = file.size; //每次读取1M this.step = 1024 * 1024; this.events = events || {}; //读取第一块 this.readBlob(0); this.bindEvent(); } FileLoader.prototype = { bindEvent: function (events) { var _this = this, reader = this.reader; reader.onload = function (e) { _this.onLoad(); }; reader.onprogress = function (e) { _this.onProgress(e.loaded); }; // start 、abort、error 回调暂时不加 }, // progress 事件回掉 onProgress: function (loaded) { var percent, handler = this.events.progress;//进度条 this.loaded += loaded; percent = (this.loaded / this.total) * 100; handler && handler(percent); }, // 读取结束(每一次执行read结束时调用,并非整体) onLoad: function () { var handler = this.events.load; // 应该在这里发送读取的数据 handler && handler(this.reader.result); // 如果未读取完毕继续读取 if (this.loaded < this.total) { this.readBlob(this.loaded); } else { // 读取完毕 this.loaded = this.total; // 如果有success回掉则执行 this.events.success && this.events.success(); } }, // 读取文件内容 readBlob: function (start) { var blob, file = this.file; // 如果支持 slice 方法,那么分步读取,不支持的话一次读取 if (file.slice) { blob = file.slice(start, start + this.step); } else { blob = file; } this.reader.readAsText(blob); }, // 中止读取 abort: function () { var reader = this.reader; if(reader) { reader.abort(); } } } 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
相关内容
- 如何避免常见的6种HTML5错误用法html5各种页面切换效果和模态对话框用法总结HTML5中drawImage用法分析HTML5 embed标签定义和用法详解HTML5本地存储localStorage、sessionStorage基本用法、遍历操作、异常html5基础标签(html5视频标签 html5新标签用法)html5跨域通讯之postMessage的用法总结Html5新标签解释及用法
- HTML5添加禁止缩放功能解决HTML5手机端页面缩放的问题HTML5实现可缩放时钟代码可使任何HTML元素动态缩放适合父元素的js插件scalable.jsHtml5之svg可缩放矢量图形_动力节点Java学院整理HTML5全屏响应式缩放切换幻灯片代码用HTML5实现鼠标滚轮事件放大缩小图片的功能HTML5基于SVG实现可拖拽和缩放的世界地图效果源码HTML5之SVG 2D入门1—SVG(可缩放矢量图形)概述
- 基于HTML5 Canvas的3D动态Chart图表的示例html5中canvas图表实现柱状图的示例canvas如何绘制钟表的方法
- HTML5移动端手机网站开发流程HTML5播放实现rtmp流直播html5用video标签流式加载的实现基于 HTML5 WebGL 实现的医疗物流系统Html5 实现微信分享及自定义内容的流程HTML5 canvas 瀑布流文字效果的示例代码HTML5实现的图片无限加载的瀑布流效果另带边框圆角阴影HTML5梦幻之旅——炫丽的流星雨效果实现过程HTML5 离线应用之打造零请求、无流量网站的解决方法Html5之webcoekt播放JPEG图片流
- 基于html5绘制圆形多角图案html5实现的鼠标悬停显示气泡文字框提示效果源码html5需遵循的6个设计原则HTML5+Canvas+CSS3实现齐天大圣孙悟空腾云驾雾效果HTML5标签嵌套规则详解【必看】HTML 5.1来了 9月份正式发布 更新内容预览HTML5本地数据库基础操作详解HTML5移动端手机网站开发流程js+html5制作简易的时钟表效果源码HTML5+SVG制作电子鼓打击音乐特效源码HTML5+Canvas实现可视化mp3音乐播放器特效源码
- 如何利用input事件来监听移动端的输入HTML5移动端开发中的Viewport标签及相关CSS用法解析整理HTML5移动端开发的常用触摸事件html5 canvas实现的酷炫页面预加载动画图标效果源码HTML5+jQuery实现mobile(手机端)流量统计图表特效源码(环形)HTML5 canvas实现文字雨特效源码html5基于canvas实现的中国地图各省坐标指向北京效果源码html5 canvas实现掉落的雨点动画效果源码HTML5+CSS3图片堆叠转瀑布流布局特效源码
- HTML5移动端开发中的Viewport标签及相关CSS用法解析移动端开发HTML5页面点击按钮后出现闪烁或黑色背景的解决办法 HTML5移动端手机网站开发流程整理HTML5移动端开发的常用触摸事件HTML5移动端开发遇见的东西
- 整理HTML5移动端开发的常用触摸事件html5触摸事件判断滑动方向的实现HTML5触摸事件实现移动端简易进度条的实现方法HTML5触摸事件演化tap事件介绍HTML5触摸事件(touchstart、touchmove和touchend)的实现
- 让IE下支持Html5的placeholder属性的插件HTML5 placeholder属性详解ie placeholder属性的兼容性问题解决方法HTML 5 input placeholder 属性如何完美兼任ieHTML5 placeholder(空白提示)属性介绍限制html文本框input只能输入数字和小数点使一个input文本框随其中内容而变化长度的方法使用placeholder属性设置input文本框的提示信息
- html5摇一摇代码优化包括DeviceMotionEvent等等HTML5 DeviceOrientation实现手机网站摇一摇功能代码实例Html5+JS实现手机摇一摇功能html5 利用重力感应实现摇一摇换颜色可用来做抽奖等等用HTML5实现手机摇一摇的功能的教程基于html5 DeviceOrientation 实现微信摇一摇功能
