I want to read a csv file and get its content by using AngularJS and HTML5. I want to put the content of the csv file in $scope.
I have this code in my 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>
with a custom directive:
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]);
}
});
}
};
});