HTML5 FileReader 读取txt文件
2016-12-11 19:20
489 查看
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种。
onabort:文件读取终端,触发。
onerror:文件遇到错误触发。
onload:文件成功读取触发。
onloadstart:文件开始读取时触发。
onloadend:文件读取结束时触发(无论成功失败)。
onprogress:文件读取中触发。
fileReader读取方法,5种。
FileReader.abort()。中断读取操作,读取状态返回为done,即readyState=2。
FileReader.readAsArrayBuffer()。将文件读取为ArrayBuffer形式。
FileReader.readAsBinaryString() 。将文件读取为二进制字符串(非标准方法,不推荐使用)。
FileReader.readAsDataURL()。读取文件的URL,应用场景,本地预览图片。
FileReader.readAsText()。将文件已文本形式读取。即读取txt等。
读取file代码示例(5为例):
HTML:<input type="file" ng-model="my_file" id="my_file" style="display: none;"> <button value="导入" ng-click="myfile()"></button>
JS:
$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之后,文件显示乱码。注明后解决。
相关文章推荐
- html5 filereader对象读取本地文件、图像
- HTML5 FileReader详解与实例---读取并显示图像文件
- FileReader读取中文txt文件编码丢失问题
- 从一个txt文件中读取文章并删除特定单词并显示文章
- 读取txt文件和ArrayList的操作
- .Net 读取.txt文件,可以在注册中限制保留字或者BadWords过滤
- ASP读取显示TXT文件内容
- txt文件读取和写入(.net)
- 读取TXT文件内容的方法
- VB中如何读取txt文件的数据
- C++如何读取txt文件,文件比较大想一行一行的读。
- C#如何读取.TXT文件
- 读取TXT文件内容的方法
- 读取TXT文件内容的方法
- 求助:C++中读取txt文件如何忽略特定符号后的内容?
- JavaScript读取Txt文件
- 在j2me中读取txt文件数据
- vb读取保存txt文件
- asp.net 按行读取包含中文的文本(txt)文件并取得行数
- flash读取外部txt文件