Showing
10 changed files
with
264 additions
and
23 deletions
... | @@ -18,6 +18,11 @@ | ... | @@ -18,6 +18,11 @@ |
18 | "negotiator": "0.6.2" | 18 | "negotiator": "0.6.2" |
19 | } | 19 | } |
20 | }, | 20 | }, |
21 | + "append-field": { | ||
22 | + "version": "1.0.0", | ||
23 | + "resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz", | ||
24 | + "integrity": "sha1-HjRA6RXwsSA9I3SOeO3XubW0PlY=" | ||
25 | + }, | ||
21 | "array-flatten": { | 26 | "array-flatten": { |
22 | "version": "1.1.1", | 27 | "version": "1.1.1", |
23 | "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", | 28 | "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", |
... | @@ -84,11 +89,60 @@ | ... | @@ -84,11 +89,60 @@ |
84 | "isarray": "^1.0.0" | 89 | "isarray": "^1.0.0" |
85 | } | 90 | } |
86 | }, | 91 | }, |
92 | + "buffer-from": { | ||
93 | + "version": "1.1.1", | ||
94 | + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", | ||
95 | + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" | ||
96 | + }, | ||
97 | + "busboy": { | ||
98 | + "version": "0.2.14", | ||
99 | + "resolved": "https://registry.npmjs.org/busboy/-/busboy-0.2.14.tgz", | ||
100 | + "integrity": "sha1-bCpiLvz0fFe7vh4qnDetNseSVFM=", | ||
101 | + "requires": { | ||
102 | + "dicer": "0.2.5", | ||
103 | + "readable-stream": "1.1.x" | ||
104 | + } | ||
105 | + }, | ||
87 | "bytes": { | 106 | "bytes": { |
88 | "version": "3.0.0", | 107 | "version": "3.0.0", |
89 | "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", | 108 | "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", |
90 | "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" | 109 | "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" |
91 | }, | 110 | }, |
111 | + "concat-stream": { | ||
112 | + "version": "1.6.2", | ||
113 | + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", | ||
114 | + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", | ||
115 | + "requires": { | ||
116 | + "buffer-from": "^1.0.0", | ||
117 | + "inherits": "^2.0.3", | ||
118 | + "readable-stream": "^2.2.2", | ||
119 | + "typedarray": "^0.0.6" | ||
120 | + }, | ||
121 | + "dependencies": { | ||
122 | + "readable-stream": { | ||
123 | + "version": "2.3.7", | ||
124 | + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", | ||
125 | + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", | ||
126 | + "requires": { | ||
127 | + "core-util-is": "~1.0.0", | ||
128 | + "inherits": "~2.0.3", | ||
129 | + "isarray": "~1.0.0", | ||
130 | + "process-nextick-args": "~2.0.0", | ||
131 | + "safe-buffer": "~5.1.1", | ||
132 | + "string_decoder": "~1.1.1", | ||
133 | + "util-deprecate": "~1.0.1" | ||
134 | + } | ||
135 | + }, | ||
136 | + "string_decoder": { | ||
137 | + "version": "1.1.1", | ||
138 | + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", | ||
139 | + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", | ||
140 | + "requires": { | ||
141 | + "safe-buffer": "~5.1.0" | ||
142 | + } | ||
143 | + } | ||
144 | + } | ||
145 | + }, | ||
92 | "content-disposition": { | 146 | "content-disposition": { |
93 | "version": "0.5.2", | 147 | "version": "0.5.2", |
94 | "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", | 148 | "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", |
... | @@ -118,6 +172,11 @@ | ... | @@ -118,6 +172,11 @@ |
118 | "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", | 172 | "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", |
119 | "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" | 173 | "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" |
120 | }, | 174 | }, |
175 | + "core-util-is": { | ||
176 | + "version": "1.0.2", | ||
177 | + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", | ||
178 | + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" | ||
179 | + }, | ||
121 | "debug": { | 180 | "debug": { |
122 | "version": "2.6.9", | 181 | "version": "2.6.9", |
123 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", | 182 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", |
... | @@ -136,6 +195,15 @@ | ... | @@ -136,6 +195,15 @@ |
136 | "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", | 195 | "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", |
137 | "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" | 196 | "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" |
138 | }, | 197 | }, |
198 | + "dicer": { | ||
199 | + "version": "0.2.5", | ||
200 | + "resolved": "https://registry.npmjs.org/dicer/-/dicer-0.2.5.tgz", | ||
201 | + "integrity": "sha1-WZbAhrszIYyBLAkL3cCc0S+stw8=", | ||
202 | + "requires": { | ||
203 | + "readable-stream": "1.1.x", | ||
204 | + "streamsearch": "0.1.2" | ||
205 | + } | ||
206 | + }, | ||
139 | "ee-first": { | 207 | "ee-first": { |
140 | "version": "1.1.1", | 208 | "version": "1.1.1", |
141 | "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", | 209 | "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", |
... | @@ -311,6 +379,19 @@ | ... | @@ -311,6 +379,19 @@ |
311 | "mime-db": "1.44.0" | 379 | "mime-db": "1.44.0" |
312 | } | 380 | } |
313 | }, | 381 | }, |
382 | + "minimist": { | ||
383 | + "version": "1.2.5", | ||
384 | + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", | ||
385 | + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" | ||
386 | + }, | ||
387 | + "mkdirp": { | ||
388 | + "version": "0.5.5", | ||
389 | + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", | ||
390 | + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", | ||
391 | + "requires": { | ||
392 | + "minimist": "^1.2.5" | ||
393 | + } | ||
394 | + }, | ||
314 | "morgan": { | 395 | "morgan": { |
315 | "version": "1.9.1", | 396 | "version": "1.9.1", |
316 | "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.9.1.tgz", | 397 | "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.9.1.tgz", |
... | @@ -328,11 +409,31 @@ | ... | @@ -328,11 +409,31 @@ |
328 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", | 409 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", |
329 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" | 410 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" |
330 | }, | 411 | }, |
412 | + "multer": { | ||
413 | + "version": "1.4.2", | ||
414 | + "resolved": "https://registry.npmjs.org/multer/-/multer-1.4.2.tgz", | ||
415 | + "integrity": "sha512-xY8pX7V+ybyUpbYMxtjM9KAiD9ixtg5/JkeKUTD6xilfDv0vzzOFcCp4Ljb1UU3tSOM3VTZtKo63OmzOrGi3Cg==", | ||
416 | + "requires": { | ||
417 | + "append-field": "^1.0.0", | ||
418 | + "busboy": "^0.2.11", | ||
419 | + "concat-stream": "^1.5.2", | ||
420 | + "mkdirp": "^0.5.1", | ||
421 | + "object-assign": "^4.1.1", | ||
422 | + "on-finished": "^2.3.0", | ||
423 | + "type-is": "^1.6.4", | ||
424 | + "xtend": "^4.0.0" | ||
425 | + } | ||
426 | + }, | ||
331 | "negotiator": { | 427 | "negotiator": { |
332 | "version": "0.6.2", | 428 | "version": "0.6.2", |
333 | "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", | 429 | "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", |
334 | "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" | 430 | "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" |
335 | }, | 431 | }, |
432 | + "object-assign": { | ||
433 | + "version": "4.1.1", | ||
434 | + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", | ||
435 | + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" | ||
436 | + }, | ||
336 | "on-finished": { | 437 | "on-finished": { |
337 | "version": "2.3.0", | 438 | "version": "2.3.0", |
338 | "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", | 439 | "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", |
... | @@ -356,6 +457,11 @@ | ... | @@ -356,6 +457,11 @@ |
356 | "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", | 457 | "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", |
357 | "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" | 458 | "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" |
358 | }, | 459 | }, |
460 | + "process-nextick-args": { | ||
461 | + "version": "2.0.1", | ||
462 | + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", | ||
463 | + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" | ||
464 | + }, | ||
359 | "proxy-addr": { | 465 | "proxy-addr": { |
360 | "version": "2.0.6", | 466 | "version": "2.0.6", |
361 | "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", | 467 | "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", |
... | @@ -401,6 +507,24 @@ | ... | @@ -401,6 +507,24 @@ |
401 | "unpipe": "1.0.0" | 507 | "unpipe": "1.0.0" |
402 | } | 508 | } |
403 | }, | 509 | }, |
510 | + "readable-stream": { | ||
511 | + "version": "1.1.14", | ||
512 | + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", | ||
513 | + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", | ||
514 | + "requires": { | ||
515 | + "core-util-is": "~1.0.0", | ||
516 | + "inherits": "~2.0.1", | ||
517 | + "isarray": "0.0.1", | ||
518 | + "string_decoder": "~0.10.x" | ||
519 | + }, | ||
520 | + "dependencies": { | ||
521 | + "isarray": { | ||
522 | + "version": "0.0.1", | ||
523 | + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", | ||
524 | + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" | ||
525 | + } | ||
526 | + } | ||
527 | + }, | ||
404 | "safe-buffer": { | 528 | "safe-buffer": { |
405 | "version": "5.1.2", | 529 | "version": "5.1.2", |
406 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", | 530 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", |
... | @@ -457,6 +581,16 @@ | ... | @@ -457,6 +581,16 @@ |
457 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", | 581 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", |
458 | "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" | 582 | "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" |
459 | }, | 583 | }, |
584 | + "streamsearch": { | ||
585 | + "version": "0.1.2", | ||
586 | + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-0.1.2.tgz", | ||
587 | + "integrity": "sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo=" | ||
588 | + }, | ||
589 | + "string_decoder": { | ||
590 | + "version": "0.10.31", | ||
591 | + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", | ||
592 | + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" | ||
593 | + }, | ||
460 | "type-is": { | 594 | "type-is": { |
461 | "version": "1.6.18", | 595 | "version": "1.6.18", |
462 | "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", | 596 | "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", |
... | @@ -466,6 +600,11 @@ | ... | @@ -466,6 +600,11 @@ |
466 | "mime-types": "~2.1.24" | 600 | "mime-types": "~2.1.24" |
467 | } | 601 | } |
468 | }, | 602 | }, |
603 | + "typedarray": { | ||
604 | + "version": "0.0.6", | ||
605 | + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", | ||
606 | + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" | ||
607 | + }, | ||
469 | "unpipe": { | 608 | "unpipe": { |
470 | "version": "1.0.0", | 609 | "version": "1.0.0", |
471 | "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", | 610 | "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", |
... | @@ -480,6 +619,11 @@ | ... | @@ -480,6 +619,11 @@ |
480 | "querystring": "0.2.0" | 619 | "querystring": "0.2.0" |
481 | } | 620 | } |
482 | }, | 621 | }, |
622 | + "util-deprecate": { | ||
623 | + "version": "1.0.2", | ||
624 | + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", | ||
625 | + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" | ||
626 | + }, | ||
483 | "utils-merge": { | 627 | "utils-merge": { |
484 | "version": "1.0.1", | 628 | "version": "1.0.1", |
485 | "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", | 629 | "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", |
... | @@ -508,6 +652,11 @@ | ... | @@ -508,6 +652,11 @@ |
508 | "version": "9.0.7", | 652 | "version": "9.0.7", |
509 | "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", | 653 | "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", |
510 | "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=" | 654 | "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=" |
655 | + }, | ||
656 | + "xtend": { | ||
657 | + "version": "4.0.2", | ||
658 | + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", | ||
659 | + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" | ||
511 | } | 660 | } |
512 | } | 661 | } |
513 | } | 662 | } | ... | ... |
... | @@ -15,6 +15,7 @@ | ... | @@ -15,6 +15,7 @@ |
15 | "express": "~4.16.1", | 15 | "express": "~4.16.1", |
16 | "http-errors": "^1.6.3", | 16 | "http-errors": "^1.6.3", |
17 | "morgan": "~1.9.1", | 17 | "morgan": "~1.9.1", |
18 | + "multer": "^1.4.2", | ||
18 | "python-shell": "^2.0.2" | 19 | "python-shell": "^2.0.2" |
19 | } | 20 | } |
20 | } | 21 | } | ... | ... |
... | @@ -56,6 +56,8 @@ async function setupCamera() { | ... | @@ -56,6 +56,8 @@ async function setupCamera() { |
56 | async function AWS_req(img_byte){ | 56 | async function AWS_req(img_byte){ |
57 | let element = document.getElementById('method'); | 57 | let element = document.getElementById('method'); |
58 | console.log(element.value) | 58 | console.log(element.value) |
59 | + let collection = document.getElementById('collection'); | ||
60 | + | ||
59 | var rekognition = new AWS.Rekognition(); | 61 | var rekognition = new AWS.Rekognition(); |
60 | var params = { | 62 | var params = { |
61 | CollectionId: "6jj2", | 63 | CollectionId: "6jj2", |
... | @@ -66,10 +68,10 @@ async function AWS_req(img_byte){ | ... | @@ -66,10 +68,10 @@ async function AWS_req(img_byte){ |
66 | MaxFaces: 5 | 68 | MaxFaces: 5 |
67 | }; | 69 | }; |
68 | post_data = { | 70 | post_data = { |
69 | - "result": false, | ||
70 | "type" : element.value, | 71 | "type" : element.value, |
71 | "landing": "false", | 72 | "landing": "false", |
72 | - "image":img_byte | 73 | + "image":img_byte, |
74 | + "collection" :collection.value | ||
73 | } | 75 | } |
74 | console.log(img_byte) | 76 | console.log(img_byte) |
75 | redirectPost("/use",post_data) | 77 | redirectPost("/use",post_data) | ... | ... |
... | @@ -3,9 +3,7 @@ | ... | @@ -3,9 +3,7 @@ |
3 | templated.co @templatedco | 3 | templated.co @templatedco |
4 | Released for free under the Creative Commons Attribution 3.0 license (templated.co/license) | 4 | Released for free under the Creative Commons Attribution 3.0 license (templated.co/license) |
5 | */ | 5 | */ |
6 | -function register_alert(){ | 6 | + |
7 | - alert("등록되었습니다.") | ||
8 | -} | ||
9 | var settings = { | 7 | var settings = { |
10 | 8 | ||
11 | banner: { | 9 | banner: { | ... | ... |
1 | var express = require("express"); | 1 | var express = require("express"); |
2 | var router = express.Router(); | 2 | var router = express.Router(); |
3 | +function makeid(length) { | ||
4 | + var result = ''; | ||
5 | + var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; | ||
6 | + var charactersLength = characters.length; | ||
7 | + for ( var i = 0; i < length; i++ ) { | ||
8 | + result += characters.charAt(Math.floor(Math.random() * charactersLength)); | ||
9 | + } | ||
10 | + return result; | ||
11 | +} | ||
12 | +var AWS = require("aws-sdk"); | ||
13 | +AWS.config.loadFromPath("./config.json"); | ||
14 | +var rekognition = new AWS.Rekognition(); | ||
3 | 15 | ||
4 | /* GET home page. */ | 16 | /* GET home page. */ |
5 | router.get("/", function (req, res, next) { | 17 | router.get("/", function (req, res, next) { |
6 | - res.render("index", { title: "Express" }); | 18 | + var collectionID = makeid(8) |
19 | + var params = { | ||
20 | + CollectionId: collectionID | ||
21 | + }; | ||
22 | + rekognition.createCollection(params, function(err, data) { | ||
23 | + if (err) console.log(err, err.stack); // an error occurred | ||
24 | + else console.log(data); // successful response | ||
25 | + }); | ||
26 | + console.log(collectionID) | ||
27 | + res.render("index", { title: "Express", error:"",collection: collectionID}); | ||
28 | +}); | ||
29 | +router.post("/", function (req, res, next){ | ||
30 | + console.log(req.body.collection) | ||
31 | + res.render("index", { title: "Express", error:"",collection: req.body.collection}); | ||
7 | }); | 32 | }); |
8 | - | ||
9 | module.exports = router; | 33 | module.exports = router; | ... | ... |
... | @@ -2,28 +2,53 @@ var express = require("express"); | ... | @@ -2,28 +2,53 @@ var express = require("express"); |
2 | var router = express.Router(); | 2 | var router = express.Router(); |
3 | var AWS = require("aws-sdk"); | 3 | var AWS = require("aws-sdk"); |
4 | var fs = require("fs"); | 4 | var fs = require("fs"); |
5 | +const path = require('path'); | ||
5 | AWS.config.loadFromPath("./config.json"); | 6 | AWS.config.loadFromPath("./config.json"); |
7 | +const multer = require('multer'); | ||
6 | var rekognition = new AWS.Rekognition(); | 8 | var rekognition = new AWS.Rekognition(); |
9 | +const upload = multer({ | ||
10 | + storage: multer.diskStorage({ | ||
11 | + destination(req, file, cb){ | ||
12 | + cb(null, 'uploads/') | ||
13 | + }, | ||
14 | + filename(req, file, cb){ | ||
15 | + // 확장자 추출 | ||
16 | + const ext = path.extname(file.originalname); | ||
17 | + // 이름설정 (basename:확장자제외 파일명) + 현재시간 + 확장자 | ||
18 | + cb(null, path.basename(file.originalname, ext) + new Date().valueOf() + ext); | ||
19 | + }, | ||
20 | + }), | ||
21 | + limit: { fileSize: 5 * 1024 * 1024}, | ||
22 | +}); | ||
23 | +router.post("/", upload.single('img'), (req, res) => { | ||
24 | + console.log(req.file) | ||
7 | 25 | ||
8 | -router.post("/", (req, res) => { | 26 | + fs.readFile(req.file.path, function (err, data) { |
9 | - var path_image = req.body.image; | ||
10 | - var params = {}; | ||
11 | - fs.readFile(path_image, function (err, data) { | ||
12 | if (err) { | 27 | if (err) { |
13 | console.log(err); | 28 | console.log(err); |
14 | } | 29 | } |
15 | params = { | 30 | params = { |
16 | - CollectionId: "6jj2", | 31 | + CollectionId: req.body.collection, |
17 | DetectionAttributes: [], | 32 | DetectionAttributes: [], |
18 | ExternalImageId: req.body.text, | 33 | ExternalImageId: req.body.text, |
19 | Image: { Bytes: data }, | 34 | Image: { Bytes: data }, |
20 | }; | 35 | }; |
21 | rekognition.indexFaces(params, function (err, data) { | 36 | rekognition.indexFaces(params, function (err, data) { |
22 | - if (err) console.log(err, err.stack); | 37 | + if (err) { |
38 | + console.log(err, err.stack); | ||
39 | + res.render('redirect', {error:"not registered! is there any faces on image?",collection: req.body.collection}) | ||
40 | + } | ||
23 | // an error occurred | 41 | // an error occurred |
24 | else console.log(data); // successful response | 42 | else console.log(data); // successful response |
25 | - console.log("등록되었습니다."); | 43 | + |
26 | - res.redirect("/"); | 44 | + fs.unlink(req.file.path, (err) => { |
45 | + if (err) throw err; | ||
46 | + console.log('image was deleted'); | ||
47 | + }); | ||
48 | + if(data.FaceRecords.length>0) | ||
49 | + res.render('redirect', {error:"registered!",collection: req.body.collection}) | ||
50 | + else | ||
51 | + res.render('redirect', {error:"not registered! is there any faces on image?",collection: req.body.collection}) | ||
27 | }); | 52 | }); |
28 | }); | 53 | }); |
29 | }); | 54 | }); | ... | ... |
... | @@ -11,10 +11,11 @@ const { exec } = require("child_process"); | ... | @@ -11,10 +11,11 @@ const { exec } = require("child_process"); |
11 | router.post("/", function (req, res, next) { | 11 | router.post("/", function (req, res, next) { |
12 | console.log(req.body) | 12 | console.log(req.body) |
13 | if (req.body.landing == "true") { | 13 | if (req.body.landing == "true") { |
14 | - res.render('use', { method: req.body.type }) | 14 | + res.render('use', { method: req.body.type,collection:req.body.collection }) |
15 | } | 15 | } |
16 | else { | 16 | else { |
17 | image = req.body.image | 17 | image = req.body.image |
18 | + console.log(req.body.collection) | ||
18 | // console.log(image) | 19 | // console.log(image) |
19 | // var img_arr = req.body.image.split(',').map(function(item) { | 20 | // var img_arr = req.body.image.split(',').map(function(item) { |
20 | // return parseInt(item, 10); | 21 | // return parseInt(item, 10); |
... | @@ -33,7 +34,7 @@ router.post("/", function (req, res, next) { | ... | @@ -33,7 +34,7 @@ router.post("/", function (req, res, next) { |
33 | } | 34 | } |
34 | // console.log(imageBytes) | 35 | // console.log(imageBytes) |
35 | var params = { | 36 | var params = { |
36 | - CollectionId: "6jj2", | 37 | + CollectionId: req.body.collection, |
37 | FaceMatchThreshold: 95, | 38 | FaceMatchThreshold: 95, |
38 | Image: { | 39 | Image: { |
39 | Bytes: imageBytes | 40 | Bytes: imageBytes |
... | @@ -46,7 +47,7 @@ router.post("/", function (req, res, next) { | ... | @@ -46,7 +47,7 @@ router.post("/", function (req, res, next) { |
46 | } | 47 | } |
47 | else { | 48 | else { |
48 | if (data.FaceMatches.length>0){ | 49 | if (data.FaceMatches.length>0){ |
49 | - res.redirect("/"); | 50 | + res.render("redirect", {error:"Recognized!",collection: req.body.collection }); |
50 | } | 51 | } |
51 | else{ | 52 | else{ |
52 | // todo 잠금 페이지로 이동. | 53 | // todo 잠금 페이지로 이동. | ... | ... |
... | @@ -38,10 +38,10 @@ | ... | @@ -38,10 +38,10 @@ |
38 | </header> | 38 | </header> |
39 | 39 | ||
40 | <footer class="align-center"> | 40 | <footer class="align-center"> |
41 | - <form action=/register method="post"> | 41 | + <form action=/register method="post" enctype="multipart/form-data"> |
42 | - <input type="file" id="image_path" name="image" accept="image/png, image/jpeg" class="button alt"> | 42 | + <input type="file" id="img" name="img" accept="image/png, image/jpeg" class="button alt"> |
43 | - | 43 | + <input type='hidden' name="collection" id='collection' value="<%= collection %>" > |
44 | - <input type="text" id="image_id" name="text" value="사진 이름""><input type="submit" value="등록" class="button alt" onclick="register_alert()"> | 44 | + <input type="text" id="image_id" name="text" value="사진 이름""><input type="submit" value="등록" class="button alt""> |
45 | </form> | 45 | </form> |
46 | </footer> | 46 | </footer> |
47 | </div> | 47 | </div> |
... | @@ -63,7 +63,7 @@ | ... | @@ -63,7 +63,7 @@ |
63 | <input type="hidden" name="landing" id="landing" value="true" /> | 63 | <input type="hidden" name="landing" id="landing" value="true" /> |
64 | <label for="type">Input Password:</label> | 64 | <label for="type">Input Password:</label> |
65 | <input type='password' name='type' id='type'/> | 65 | <input type='password' name='type' id='type'/> |
66 | - | 66 | + <input type='hidden' name="collection" id='collection' value="<%= collection %>" > |
67 | <!-- <select name="type" id="type" class="button alt"> | 67 | <!-- <select name="type" id="type" class="button alt"> |
68 | <option value="Desktop">바탕화면</option> | 68 | <option value="Desktop">바탕화면</option> |
69 | <option value="Logout">로그아웃</option> | 69 | <option value="Logout">로그아웃</option> |
... | @@ -86,5 +86,15 @@ | ... | @@ -86,5 +86,15 @@ |
86 | <script src="javascripts/skel.min.js"></script> | 86 | <script src="javascripts/skel.min.js"></script> |
87 | <script src="javascripts/util.js"></script> | 87 | <script src="javascripts/util.js"></script> |
88 | <script src="javascripts/main.js"></script> | 88 | <script src="javascripts/main.js"></script> |
89 | + <script type="text/javascript"> | ||
90 | + var error = '<%= error %>'; | ||
91 | + | ||
92 | + if(error!='') | ||
93 | + { | ||
94 | + alert(error); | ||
95 | + } | ||
96 | + | ||
97 | + | ||
98 | + </script> | ||
89 | </body> | 99 | </body> |
90 | </html> | 100 | </html> | ... | ... |
screensaver/views/redirect.ejs
0 → 100644
1 | +<body> | ||
2 | + | ||
3 | +</body> | ||
4 | +<script type="text/javascript"> | ||
5 | + var error = '<%= error %>'; | ||
6 | + | ||
7 | + if(error!='') | ||
8 | + { | ||
9 | + alert(error); | ||
10 | + } | ||
11 | + function redirectPost(url, data) { | ||
12 | + var form = document.createElement('form'); | ||
13 | + document.body.appendChild(form); | ||
14 | + form.method = 'post'; | ||
15 | + form.action = url; | ||
16 | + for (var name in data) { | ||
17 | + var input = document.createElement('input'); | ||
18 | + input.type = 'hidden'; | ||
19 | + input.name = name; | ||
20 | + input.value = data[name]; | ||
21 | + form.appendChild(input); | ||
22 | + } | ||
23 | + form.submit(); | ||
24 | +} | ||
25 | +post_data = { | ||
26 | + "collection":'<%= collection %>' | ||
27 | +} | ||
28 | + // window.location.href='/' | ||
29 | + redirectPost('/',post_data) | ||
30 | + </script> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
... | @@ -66,6 +66,7 @@ limitations under the License. | ... | @@ -66,6 +66,7 @@ limitations under the License. |
66 | <input type="button" id="AWS_button" onclick="onClick();" value="버튼1" /> | 66 | <input type="button" id="AWS_button" onclick="onClick();" value="버튼1" /> |
67 | <form> | 67 | <form> |
68 | <input type="hidden" id="method" name="method" value=<%= method %> /> | 68 | <input type="hidden" id="method" name="method" value=<%= method %> /> |
69 | + <input type="hidden" id="collection" name="collection" value=<%= collection %> /> | ||
69 | </form> | 70 | </form> |
70 | </body> | 71 | </body> |
71 | <script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs"></script> | 72 | <script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs"></script> | ... | ... |
-
Please register or login to post a comment