使用FileReader&AngularJS中的DOMParser
Using FileReader & DOMParser in AngularJS
我有一个用户使用AngularJS上传的文件,并且喜欢使用XML操作文件内容。然而,我在DOMParser识别文本文件时遇到了困难。
index.html
<div ng-controller = "myCtrl">
<input type="file" file-model="myFile"/>
<button ng-click="uploadFile()">upload me</button>
</div>
app.js
myApp.controller('myCtrl', ['$scope', 'fileUpload', function($scope, fileUpload){
$scope.uploadFile = function(){
var file = $scope.myFile;
reader = new FileReader();
reader.onload = function() {
showout.value = this.result;
txtFile = showout.value;
console.log(txtFile);
};
reader.readAsText(file);
parser=new DOMParser();
xmldoc = parser.parseFromString(txtFile,"text/xml");
console.log(xmlDoc);
在本例中,txtFile被正确地打印到控制台的Reader.onLoad中。但是,xmlDoc显示为未定义。
我应该引用文件并转换它,以便DOMParser可以读取它吗?
注意:如果我在中替换txtFile。。。xmldoc=parser.parseFromString("bob","text/xml"),代码就可以工作了。
提前谢谢。
我知道这是旧的,但我想在这里放一个工作示例,以防人们仍然会遇到这个
var parser = new DOMParser();
var reader = new FileReader();
reader.readAsText(file, "UTF-8");
reader.onload = function (evt) {
var data = parser.parseFromString(evt.target.result, "application/xml");
console.log(data);
};
相关文章:
- 打开一个模态并将其链接到AngularJS中的指令
- 使用AngularJS中的筛选器更新给定的表
- 如何将参数传递到angularJs中的工厂
- 更改angularjs中的日期-时间格式
- 如何将angularjs中的javascript字符串输出为循环数组
- 遍历AngularJs中的对象
- 使用AngularJS中的UI路由器将状态重定向到默认子状态
- AngularJS中的封装窗口全局变量
- 使用angularjs中的rest调用通过id获取数据
- 如何将ng选项的索引作为angularJs中的值传递给模型
- 点击Angularjs中的按钮上传文件
- 从angularjs中的javascript更新dom
- 当使用select作为标签时,如何使用ng选项禁用angularjs中的选项
- angularjs中的ng网格和ui网格有什么区别
- 当绑定到AngularJS中的函数时,会在后台发生什么
- 如何从Angularjs中的新日期获取日期格式
- AngularJs中的自动完成功能无法正常工作
- AngularJS中的页面之间共享数据返回空
- 从AngularJS中的另一个文件中的控制器访问服务
- 如何从输入框中获取angularJS中的值