var express = require('express'); var app = express(); var multer = require('multer') var cors = require('cors'); var bodyParser = require("body-parser"); var https = require('https') const util = require('util'); const fs = require('fs'); var corsOptions = { "origin": "*", "methods": "GET,HEAD,PUT,PATCH,POST,DELETE", "preflightContinue": false, "optionsSuccessStatus": 204 } app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: true })); app.use(cors(corsOptions)); function callLoadInitializeData(projectid, construction_id, username, sheetname, filename){ https.get('https://natnats.mobilous.com/loadInitializeData?projectid=23&construction_id=1&username=1&sheetname=dataSheet&filename=ini_データ入力シート.xlsx', (resp) => { let data = ''; // A chunk of data has been received. resp.on('data', (chunk) => { data += chunk; }); // The whole response has been received. Print out the result. resp.on('end', () => { if(data !== 'no match'){ resdata = JSON.parse(data); console.log(resdata); } }); }).on("error", (err) => { console.log("Error: " + err.message); }); } function callInitFileMover(re) { https.get('https://natnats.mobilous.com/iniFileMover', (resp) => { let data = ''; // A chunk of data has been received. resp.on('data', (chunk) => { data += chunk; }); // The whole response has been received. Print out the result. resp.on('end', () => { //debug data = `{ "construction_id": 3, "file_name": "ini_データ入力シート.xlsx", "file_type": "dataSheet" }` if(data !== 'no match'){ resdata = JSON.parse(data); console.log(resdata); } }); }).on("error", (err) => { console.log("Error: " + err.message); }); } var storage = multer.diskStorage({ destination: function(req, file, cb) { cb(null, '/var/www/html/FBS') }, filename: function(req, file, cb) { cb(null, file.originalname) } }) var upload = multer({ storage: storage }).single('file') app.post('/upload', function(req, res, next) { console.log('email is ' + req.query.email); // upload(req, res, function(err) { // if (err instanceof multer.MulterError) { // return res.status(500).json(err) // } else if (err) { // return res.status(500).json(err) // } // else { // var FileName = req.file.filename; // callInitFileMover(res); // res.status(200).send(FileName); // } // //return res.status(200).send(req.file) // }) }); const converter = require('json-2-csv'); app.post('/csv', (req, res, next) => { const csv = req; userData = req.body; converter.json2csv(userData, (err, csv) => { if (err) { throw err; } writetoFile(csv); // print CSV string console.log(csv); }); res.send("OK"); }); function writetoFile(csv) { fs.writeFile('/var/www/html/appexe/natnats/23/bin/mobileweb2/resources/database/user_record.csv', csv, err => { if (err) { console.error(err) return } }) } app.listen(8000, function() { console.log('App running on port 8000'); });