Toggle navigation
Toggle navigation
This project
Loading...
Sign in
김현기
/
KindOfYourDog
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
1
Merge Requests
0
Wiki
Snippets
Network
Create a new issue
Builds
Commits
Issue Boards
Authored by
김현기
2020-06-23 23:54:41 +0900
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
5ddeae5cf7fb8d5b0265d6e3f49b056db5d8a96c
5ddeae5c
1 parent
ac40e34f
사이트에서 파일 받아와 S3에 저장 후 출력하기
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
58 additions
and
4 deletions
app.js
puppy.jpg
app.js
View file @
5ddeae5
var
createError
=
require
(
'http-errors'
);
var
express
=
require
(
'express'
);
var
formidable
=
require
(
'formidable'
);
var
path
=
require
(
'path'
);
var
cookieParser
=
require
(
'cookie-parser'
);
var
logger
=
require
(
'morgan'
);
...
...
@@ -10,17 +11,29 @@ var AWS = require('aws-sdk');
// 이미지를 저장할 버킷 이름
var
bucketName
=
"kindofyourdogimage"
;
// s3 버킷의 엔드 포인트
var
bucketRegion
=
"ap-northeast-2"
;
var
bucketRegion
=
'ap-northeast-2'
;
// access key
var
accessId
=
'AKIAQVXKGU466IQYEGRN'
;
// access secret key
var
secretKey
=
'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'
;
// AWS Cognito 인증
var
identityPoolId
=
"ap-northeast-2:7cba9a17-588b-40d6-8c70-eb8ba4d573be"
;
//var identityPoolId = "ap-northeast-2:7cba9a17-588b-40d6-8c70-eb8ba4d573be";
// AWS의 config 정보를 Update해준다 -> 이용자가 S3 버킷에 접근 가능하다
/*
AWS.config.update({
region:bucketRegion,
credentials:new AWS.CognitoIdentityCredentials({
IdentityPoolId
:
identityPoolId
IdentityPoolId:identityPoolId
,
})
})
*/
AWS
.
config
.
update
({
region
:
bucketRegion
,
accessKeyId
:
accessId
,
secretAccessKey
:
secretKey
});
// 내가 사용할 S3
var
s3
=
new
AWS
.
S3
({
...
...
@@ -45,6 +58,7 @@ const uploadFile = (fileName) => {
};
uploadFile
(
fileName
);
/*
// rekognition 객체
const client = new AWS.Rekognition();
...
...
@@ -59,6 +73,8 @@ const params = {
"MinConfidence": 75
}
// 이미지 분석하기
client.detectLabels(params, function(err, response) {
if (err) {
...
...
@@ -87,7 +103,7 @@ client.detectLabels(params, function(err, response) {
}) // for response.labels
} // if
});
*/
var
indexRouter
=
require
(
'./routes/index'
);
var
usersRouter
=
require
(
'./routes/users'
);
...
...
@@ -108,6 +124,44 @@ app.use(express.static(path.join(__dirname, 'public')));
app
.
use
(
'/'
,
indexRouter
);
app
.
use
(
'/users'
,
usersRouter
);
// image 올리는 화면
app
.
get
(
'/form'
,
function
(
req
,
res
){
var
output
=
`
<html>
<body>
<form enctype="multipart/form-data" method="post" action="upload_receiver">
<input type="file" name="userfile">
<input type="submit">
</form>
</body>
</html>
`
;
res
.
send
(
output
);
});
// image를 받았을 때
app
.
post
(
'/upload_receiver'
,
function
(
req
,
res
){
var
form
=
new
formidable
.
IncomingForm
();
form
.
parse
(
req
,
function
(
err
,
fields
,
files
){
var
s3
=
new
AWS
.
S3
();
var
params
=
{
Bucket
:
bucketName
,
ACL
:
'public-read'
,
Key
:
files
.
userfile
.
namem
,
Body
:
require
(
'fs'
).
createReadStream
(
files
.
userfile
.
path
)
}
s3
.
upload
(
params
,
function
(
err
,
data
){
var
result
=
''
;
if
(
err
)
result
=
'Fail'
;
else
result
=
`<img src="
${
data
.
Location
}
>`
;
res
.
send
(
`<html><body>
${
result
}
</body></html`
)
});
console
.
log
(
err
,
fields
,
files
);
});
});
// catch 404 and forward to error handler
app
.
use
(
function
(
req
,
res
,
next
)
{
next
(
createError
(
404
));
...
...
puppy.jpg
0 → 100644
View file @
5ddeae5
29.7 KB
Please
register
or
login
to post a comment