Showing
1 changed file
with
48 additions
and
3 deletions
| ... | @@ -13,9 +13,9 @@ var bucketName = "kindofyourdogimage"; | ... | @@ -13,9 +13,9 @@ var bucketName = "kindofyourdogimage"; |
| 13 | // s3 버킷의 엔드 포인트 | 13 | // s3 버킷의 엔드 포인트 |
| 14 | var bucketRegion = 'ap-northeast-2'; | 14 | var bucketRegion = 'ap-northeast-2'; |
| 15 | // access key | 15 | // access key |
| 16 | -var accessId= 'AKIAQVXKGU466IQYEGRN'; | 16 | +var accessId= 'your_accessId'; |
| 17 | // access secret key | 17 | // access secret key |
| 18 | -var secretKey = '0FrMPdZR6+AkMkabAyPZWrnsVVi9EaI9/IdrWKCm'; | 18 | +var secretKey = 'your_secretKey'; |
| 19 | // AWS Cognito 인증 | 19 | // AWS Cognito 인증 |
| 20 | //var identityPoolId = "ap-northeast-2:7cba9a17-588b-40d6-8c70-eb8ba4d573be"; | 20 | //var identityPoolId = "ap-northeast-2:7cba9a17-588b-40d6-8c70-eb8ba4d573be"; |
| 21 | 21 | ||
| ... | @@ -137,17 +137,62 @@ app.get('/form', function(req, res){ | ... | @@ -137,17 +137,62 @@ app.get('/form', function(req, res){ |
| 137 | </html> | 137 | </html> |
| 138 | `; | 138 | `; |
| 139 | res.send(output); | 139 | res.send(output); |
| 140 | + console.log(output); | ||
| 140 | }); | 141 | }); |
| 141 | 142 | ||
| 142 | // image를 받았을 때 | 143 | // image를 받았을 때 |
| 143 | app.post('/upload_receiver', function(req,res){ | 144 | app.post('/upload_receiver', function(req,res){ |
| 144 | var form = new formidable.IncomingForm(); | 145 | var form = new formidable.IncomingForm(); |
| 146 | + console.log(form); | ||
| 147 | + const client = new AWS.Rekognition(); | ||
| 148 | + | ||
| 149 | + const params = { | ||
| 150 | + "Image": { | ||
| 151 | + "S3Object": { | ||
| 152 | + "Bucket": bucketName, | ||
| 153 | + "Name": fileName | ||
| 154 | + } | ||
| 155 | + }, | ||
| 156 | + "MaxLabels": 10, | ||
| 157 | + "MinConfidence": 75 | ||
| 158 | + } | ||
| 159 | + | ||
| 160 | + // 이미지 분석하기 | ||
| 161 | + client.detectLabels(params, function(err, response) { | ||
| 162 | + if (err) { | ||
| 163 | + console.log(err, err.stack); // an error occurred | ||
| 164 | + } else { | ||
| 165 | + console.log(`Detected labels for: ${form.name}`) | ||
| 166 | + response.Labels.forEach(label => { | ||
| 167 | + console.log(`Label: ${label.Name}`) | ||
| 168 | + console.log(`Confidence: ${label.Confidence}`) | ||
| 169 | + console.log("Instances:") | ||
| 170 | + label.Instances.forEach(instance => { | ||
| 171 | + let box = instance.BoundingBox | ||
| 172 | + console.log(" Bounding box:") | ||
| 173 | + console.log(` Top: ${box.Top}`) | ||
| 174 | + console.log(` Left: ${box.Left}`) | ||
| 175 | + console.log(` Width: ${box.Width}`) | ||
| 176 | + console.log(` Height: ${box.Height}`) | ||
| 177 | + console.log(` Confidence: ${instance.Confidence}`) | ||
| 178 | + }) | ||
| 179 | + console.log("Parents:") | ||
| 180 | + label.Parents.forEach(parent => { | ||
| 181 | + console.log(` ${parent.Name}`) | ||
| 182 | + }) | ||
| 183 | + console.log("------------") | ||
| 184 | + console.log("") | ||
| 185 | + }) // for response.labels | ||
| 186 | + } // if | ||
| 187 | + }); | ||
| 188 | + | ||
| 189 | + // S3에 upload해주기 | ||
| 145 | form.parse(req, function(err, fields, files){ | 190 | form.parse(req, function(err, fields, files){ |
| 146 | var s3 = new AWS.S3(); | 191 | var s3 = new AWS.S3(); |
| 147 | var params = { | 192 | var params = { |
| 148 | Bucket:bucketName, | 193 | Bucket:bucketName, |
| 149 | ACL:'public-read', | 194 | ACL:'public-read', |
| 150 | - Key:files.userfile.namem, | 195 | + Key:files.userfile.name, |
| 151 | Body: require('fs').createReadStream(files.userfile.path) | 196 | Body: require('fs').createReadStream(files.userfile.path) |
| 152 | } | 197 | } |
| 153 | s3.upload(params, function(err, data){ | 198 | s3.upload(params, function(err, data){ | ... | ... |
-
Please register or login to post a comment