-
Notifications
You must be signed in to change notification settings - Fork 1
/
CompleteParser.js
110 lines (101 loc) · 4 KB
/
CompleteParser.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
var express = require("express"),
app = express(),
formidable = require('formidable'),
util = require('util'),
multer = require('multer'),
copy = require('./server/copyFile.js');
/*Post Method*/
app.post('/upload', function (req, res){
// if(done==true){
var form = new formidable.IncomingForm();
var column='';
var columnValue='';
var mapCol='';var fn=''; var type='';var attCol='';
form.parse(req, function(err, fields, files) {
res.writeHead(200, {'content-type': 'text/json'});
column=fields.column;
columnValue=fields.textV;
mapCol=fields.mapCol;
fn=fields.mapFn;
attCol=fields.attCol;
// res.end(column,columnValue);
});
form.on('end', function(fields, files) {
/* Temporary location of our uploaded file */
var temp_path = this.openedFiles[0].path;
/* The file name of the uploaded file */
var file_name = this.openedFiles[0].name;
/* Location where we want to copy the uploaded file */
var new_location = 'uploads/';
type=copy.copyData(temp_path,new_location,file_name,fn,mapCol,columnValue,attCol,res);
});
// res.redirect('http://localhost:3000/client/index2.html?type=2');
});
// GET Method
app.get('/', function (req, res){
res.writeHead(200, {'Content-Type': 'text/html' });
/* Display the file upload form. */
var form = '<form action="/upload" enctype="multipart/form-data" method="post" >'+
'Default Column:<input name="column" type="text" /><br/><br/> Tenant Id:<input name="textV" type="text" /> <br/><br/>'+
'Map Column to attribute<select name="attCol"><option value="Select">Select</option></select><br/><br/>'+
'Column:<select name="mapCol">'+
'<option value="Select">Select</option> <option value="ProductId">ProductId</option>'+
'<option value="Price">Price</option></select>'+
' Function:<select name="mapFn"> '+
'<option value="Select">Select</option>'+
'<option value="r">Remove space</option>'+ '<option value="l">To Lower Case</option>'+
'<option value="u">To Upper Case</option>'+ '<option value="a">Append</option>'+
'<option value="fn">First</option>'+ '<option value="ln">Last</option>'+
'<option value="rd">Remove Delimiter</option>'+
'</select>'+
' <input multiple="multiple" name="upload" type="file" id="fup" onchange="startRead()" />'+
'<input type="submit" value="Submit" />\n'+
'<script type="text/javascript">\n'+
'function startRead() {\n'+
'var file = document.getElementById("fup").files[0];\n'+
'if (file) {\n'+
'getData(file);\n'+
'}\n'+
'}\n'+
'function getData(readFile) {\n'+
'var reader = new FileReader();\n'+
'reader.readAsText(readFile);\n'+
'reader.onload =processData;\n'+
'}\n'+
'function processData(allText) {\n'+
'var result=allText.srcElement.result;\n'+
'var allTextLines = result.split('+/\r\n|\n/+');\n'+
'var headers = allTextLines[0].split(",");\n'+
'var select = document.getElementsByName("mapCol")[0];\n'+
'var select1 = document.getElementsByName("attCol")[0];\n'+
'select.options.length = 0;\n'+
'select1.options.length = 0;\n'+
'var sel=selOption();\n'+
'select.appendChild(sel);\n'+
'var sel1=selOption();\n'+
'select1.appendChild(sel1);\n'+
'for (var i = 0; i<headers.length; i++){\n'+
'var opt = document.createElement("option");\n'+
'opt.value = headers[i];\n'+
'opt.innerHTML = headers[i];\n'+
'select.appendChild(opt);\n'+
'}'+
'for (var i = 0; i<headers.length; i++){\n'+
'var opt1 = document.createElement("option");\n'+
'opt1.value = headers[i];\n'+
'opt1.innerHTML = headers[i];\n'+
'select1.appendChild(opt1);\n'+
'}'+
'}\n'+
'function selOption()\n'+
'{\n'+
'var opt = document.createElement("option");\n'+
'opt.value = "Select";\n'+
'opt.innerHTML = "Select";\n'+
'return opt;'+
'}\n'+
'</script>\n'
+'</form>\n';
res.end(form);
});
app.listen(8080);