I am new to Angular JS and Node Js. I want achieve one requirement. I have one page with upload button and I am uploading csv file and read the all records from CSV file and send to server side (node js).
In Node js will get the data from angular Js and save to MySQL database. How can I implement this requirement? Can someone help me this requirement. Thank You in Advance.
Below is my **Angular Code:**<html><head><meta charset="UTF-8"> <title>File Upload Home</title></head><body ng-app = "myApp"><div ng-controller = "myCtrl"><table align="center" ><tr><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></div><script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script> <script> var myApp = angular.module('myApp', []); myApp.controller('myCtrl', ['$scope', '$http', function($scope, $http){
$scope.uploadCsvFile = function() {
$http.post('/').success($scope.processData);
/* $http({
method: 'POST',
url: '/',
headers: {'Content-Type': undefined}
}).success($scope.processData); */
}; $scope.processData = function(csv){ var lines=csv.split("\n"); var result = []; var headerscsv=lines[0].split(";"); for(var i=1;i<lines.length;i++){
var obj = {};
var currentline=lines[i].split(",");
for(var j=0;j<headerscsv.length;j++){
obj[headerscsv[j]] = currentline[j];
}
result.push(obj); }
return JSON.stringify(result); //JSON } }]); </script> </body> </html>
**Node Js Code:**var express = require('express');var bodyParser =require('body-parser');var app = express();var mysql = require('mysql');//var expressValidator = require('express-validator');app.use(bodyParser.urlencoded({extended: true }));app.use(bodyParser.json({ type: '*/*' }));var connection =mysql.createConnection({
host: 'localhost',
user: '',
password: '',
database: 'dbname'});connection.connect(function(err){ if(err){ console.log('Database connection error'); }else{ console.log('Database connection successful'); }}); app.post('/', function(req, res) {var jsondata = JSON.parse(JSON.stringify(req.body));var values = [];for(var i=0; i<jsondata.length; i++){ values.push([jsondata[i].eno,jsondata[i].name,jsondata[i].age]);}connection.query('INSERT INTO members (eno, name, age) VALUES ?', [values], function(err,result) { if(err) { res.send('Error'); } else { res.send('Success'); }});});app.use(express.static('static'));var server =app.listen(3000,function(){ console.log('running on 3000...'); });