박기범

contact list, upload, download, delete complete

No preview for this file type
...@@ -4,6 +4,7 @@ const XLSX = require('xlsx'); ...@@ -4,6 +4,7 @@ const XLSX = require('xlsx');
4 var multer = require('multer'); 4 var multer = require('multer');
5 var fs = require('fs'); 5 var fs = require('fs');
6 var xl = require('excel4node'); 6 var xl = require('excel4node');
7 +const path = require('path');
7 // var pool = require('./../routes/modules/database'); 8 // var pool = require('./../routes/modules/database');
8 9
9 //파일 저장위치와 파일이름 설정 10 //파일 저장위치와 파일이름 설정
...@@ -27,8 +28,7 @@ input : 사용자가 연락처를 저장해놓은 csv 혹은 xlsx 파일 ...@@ -27,8 +28,7 @@ input : 사용자가 연락처를 저장해놓은 csv 혹은 xlsx 파일
27 output : 연락처 저장 성공 여부 28 output : 연락처 저장 성공 여부
28 */ 29 */
29 router.post('/contact_upload', upload.single('file'), function(req, res, next) { 30 router.post('/contact_upload', upload.single('file'), function(req, res, next) {
30 - 31 + // console.log(req);
31 - console.log(req);
32 var user_id = req.query.id; 32 var user_id = req.query.id;
33 var file = req.file; 33 var file = req.file;
34 var workbook = XLSX.readFile('public/upload/contact.xlsx'); 34 var workbook = XLSX.readFile('public/upload/contact.xlsx');
...@@ -40,7 +40,7 @@ router.post('/contact_upload', upload.single('file'), function(req, res, next) { ...@@ -40,7 +40,7 @@ router.post('/contact_upload', upload.single('file'), function(req, res, next) {
40 var added_date = []; 40 var added_date = [];
41 var length = firstWSheet['!ref'][4]; 41 var length = firstWSheet['!ref'][4];
42 var temp =""; 42 var temp ="";
43 - console.log("업로드 api 호출") 43 +
44 var sqlquery = "insert into contact(user_id,name,email,phone,added_date) values"; 44 var sqlquery = "insert into contact(user_id,name,email,phone,added_date) values";
45 for(var i=1;i<length;i++) 45 for(var i=1;i<length;i++)
46 { 46 {
...@@ -64,8 +64,9 @@ router.post('/contact_upload', upload.single('file'), function(req, res, next) { ...@@ -64,8 +64,9 @@ router.post('/contact_upload', upload.single('file'), function(req, res, next) {
64 else if(j==3){ 64 else if(j==3){
65 temp = "D" + (i+1); 65 temp = "D" + (i+1);
66 added_date.push(firstWSheet[temp].v); 66 added_date.push(firstWSheet[temp].v);
67 - sqlquery += '","' + added_date[i-1] + '"),'; 67 + sqlquery += '",STR_TO_DATE("' + added_date[i-1] + '",' + "'%Y.%m.%d')),";
68 - } 68 + }
69 +
69 } 70 }
70 } 71 }
71 sqlquery = sqlquery.substring(0,sqlquery.length-1); 72 sqlquery = sqlquery.substring(0,sqlquery.length-1);
...@@ -94,16 +95,13 @@ router.post('/contact_download', function(req, res, next) { ...@@ -94,16 +95,13 @@ router.post('/contact_download', function(req, res, next) {
94 95
95 var filename = 'public/upload/contactdownload.xlsx'; 96 var filename = 'public/upload/contactdownload.xlsx';
96 fs.exists(filename, function (exists) { 97 fs.exists(filename, function (exists) {
97 - console.log(exists);
98 if(exists == true) 98 if(exists == true)
99 { 99 {
100 fs.unlink(filename, function (err) { 100 fs.unlink(filename, function (err) {
101 if (err) throw err; 101 if (err) throw err;
102 - console.log('file deleted');
103 }); 102 });
104 } 103 }
105 }); 104 });
106 -
107 // Create a new instance of a Workbook class 105 // Create a new instance of a Workbook class
108 var wb = new xl.Workbook(); 106 var wb = new xl.Workbook();
109 107
...@@ -136,10 +134,14 @@ router.post('/contact_download', function(req, res, next) { ...@@ -136,10 +134,14 @@ router.post('/contact_download', function(req, res, next) {
136 ws.cell(i+2, 4).string(rows[i].added_date); 134 ws.cell(i+2, 4).string(rows[i].added_date);
137 } 135 }
138 } 136 }
139 - wb.write('public/upload/contactdownload.xlsx'); 137 + wb.write('public/upload/contactdownload.xlsx', (err, stats)=> {
140 - var file = __dirname + '/public/upload/contactdownload.xlsx'; 138 + if (err){
141 - // console.log(file); 139 + throw err;
142 - res.download(file); 140 + }
141 + else {
142 + res.sendFile(path.join(__dirname, '../public/upload/contactdownload.xlsx'));
143 + }
144 + });
143 } 145 }
144 146
145 }); 147 });
......
1 { 1 {
2 - "accessKeyId": "", 2 + "accessKeyId": "ASIAXZL2SWFETFJCOUVA",
3 - "secretAccessKey": "", 3 + "secretAccessKey": "O62ApIRARFqNJfMuiG0jtZtWKo0KlFrr4dHGzXi3",
4 - "sessionToken": "", 4 + "sessionToken": "FwoGZXIvYXdzEMf//////////wEaDEadfqreNbwKinwKXiLDAUxFlDxgDRtpYWy4hLb2HoYm8lh125VX3zPUoC67NfB69HlMzHIN3cz92pk7xdYmHhb8zWntiRCoOm2IlInfj7oklz4Sx/xnvnLBlZm3US+bGZsdlNga35iuGr9tdzuXR1ULYmbwBax7VkhE0cM8CVQWmoWzmtljbYcYH+dVMB2k5DnDFSWJq7YMS2HjMjE7SQBlBp+Mww5mFeHs6Qcq3RnDBG3PfZAvF2LV6jL2PU+2cotBYgD+zAcEXPnoo1UCXKhS2Sj+w4P3BTItf9IL+d2l/jb5qg9kt69qCIN4W16tC4rIBX/5268h/gI8j2LFAUuTjEViFaIs",
5 - "region": "" 5 + "region": "us-east-1"
6 } 6 }
......