前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >HTML5 FileReader 读取txt文件

HTML5 FileReader 读取txt文件

作者头像
j_bleach
发布2019-05-26 12:07:24
8K0
发布2019-05-26 12:07:24
举报
文章被收录于专栏:前端加油站前端加油站

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/j_bleach/article/details/53574789

JS读取本地txt

最近有从本地读取txt文件的需要,奈何网上搜索js读取本地txt,都是新建一个fso对象,即(FileSystemObject)。自己试了半天不好使(后来发现貌似只能在IE上跑)。于是使用H5的fileReader来解决问题。

fileReader Api

flieReader 三种状态: FileReader.readyState:0,1,2

  • 0:empty ,没有文件被load,为空。
  • 1:loading,文件正在被加载。
  • 2:done,读取请求完成。

fileReader事件处理,6种。

  1. onabort:文件读取终端,触发。
  2. onerror:文件遇到错误触发。
  3. onload:文件成功读取触发。
  4. onloadstart:文件开始读取时触发。
  5. onloadend:文件读取结束时触发(无论成功失败)。
  6. onprogress:文件读取中触发。

fileReader读取方法,5种。

  1. FileReader.abort()。中断读取操作,读取状态返回为done,即readyState=2。
  2. FileReader.readAsArrayBuffer()。将文件读取为ArrayBuffer形式。
  3. FileReader.readAsBinaryString() 。将文件读取为二进制字符串(非标准方法,不推荐使用)。
  4. FileReader.readAsDataURL()。读取文件的URL,应用场景,本地预览图片。
  5. FileReader.readAsText()。将文件已文本形式读取。即读取txt等。

读取file代码示例(5为例):

HTML:

代码语言:javascript
复制
<input type="file" ng-model="my_file" id="my_file" style="display: none;">
<button value="导入" ng-click="myfile()"></button>

JS:

代码语言:javascript
复制
 $scope.myfile = function () {
      $("#my_file").click();
    }
    $("#my_file").bind('change', function (source) {

      var file = document.getElementById("my_file").files[0];
      var reader = new FileReader();

      //将文件以文本形式读入页面
      reader.readAsText(file, "gb2312");
      reader.onload = function (e) {
        var fileText = e.target.result.split("\n");
        angular.forEach(fileText, function (data, index) {
          if (data.length) {
            data = data.split(',')
            $scope.persons.push(_.zipObject(['position', 'calculate', 'maxCalculate', 'minCalculate'], data));
          }
        })
        $scope.$apply();
      }
    })

reader.readAsText(file, “gb2312”); 开始没有注明“gb2312”,读取txt之后,文件显示乱码。注明后解决。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016年12月11日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • JS读取本地txt
    • fileReader Api
      • 读取file代码示例(5为例):
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档