我想阅读csv文件并使用AngularJS和HTML5获取其内容。我想将csv文件的内容放在$ scope中。
我的html中有这段代码
<table align="center" >
<tr class="borderless">
<td>Choose .csv file</td>
<td><input type="file" name="readCsvFile" id="readCsvFile" accept=".csv"> </td>
<td><input type="button" value="Upload" ng-click="uploadCsvFile()"></td>
</tr>
</table>
答案 0 :(得分:43)
使用自定义指令:
app.directive('fileReader', function() {
return {
scope: {
fileReader:"="
},
link: function(scope, element) {
$(element).on('change', function(changeEvent) {
var files = changeEvent.target.files;
if (files.length) {
var r = new FileReader();
r.onload = function(e) {
var contents = e.target.result;
scope.$apply(function () {
scope.fileReader = contents;
});
};
r.readAsText(files[0]);
}
});
}
};
});