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>
use the mimeType as your file type here for csv it would be attachment/csv but this won;t work on safari. There is awseome library https://github.com/alferov/angular-file-saver You can use this.
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]); } }); } }; });
http://plnkr.co/edit/eeQbR65oE8iljm7ueGhX?p=preview
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With