Angular JSとNode Jを初めて使用しています。私は1つの要件を達成したい。アップロードボタンが1ページあり、CSVファイルをアップロードしてCSVファイルからすべてのレコードを読み込み、サーバー側(ノードjs)に送信します。Angular js、Node Jsを使用してCSVファイルをアップロードし、MySQL DBにデータを保存
ノードjsでは角Jからデータを取得し、MySQLデータベースに保存します。この要件をどのように実装できますか?誰かが私にこの要求を助けることができますか? ありがとうございました。
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...'); });
あなたはアプリのプロトタイプをデザインするように求めています(入力が不十分です)。 Plzはあなたのコードを投稿します。おそらく助けを受けるかもしれません。 – MAC
こんにちは私のコードをチェックして、その要件を実装する方法を教えてください。ありがとう – suresh
私はノードJSを認識していませんが、AngularJSではリンクhttp://stackoverflow.com/questions/26353676/how-to-read-csv-file-content-in-angular-jsを使用してcsvファイルを読み込み、 https://github.com/bahaaldine/angular-csv-importを使用してデータをJSONに変換し、最後にAngular $ httpサービスでこのJSONデータをサーバーに送信します。 – MAC