[Express] S3에 이미지 업로드
이 글은 업로드만 하고 읽지 않습니다.
routes/images.js
require('dotenv').config();
const fs = require('fs');
const aws = require('aws-sdk');
const s3 = new aws.S3({ // dotenvで読み込む
accessKeyId: process.env.accessKeyId,
secretAccessKey: process.env.secretAccessKey,
region: process.env.region,
});
const multer = require('multer');
const multerS3 = require('multer-s3');
// multer-s3の公式を参照(下記)
const upload = multer({
storage: multerS3({
s3: s3,
bucket: 'node-image-app2',
metadata: function (req, file, cb) {
cb(null, {fieldName: file.fieldname});
},
key: function (req, file, cb) {
cb(null, Date.now().toString())
}
})
});
// Create images
// upload(...)で画像を登録。multer公式参照(下記)
router.post('/images/upload', upload.single('image'), (req, res, next) => {
if (req.file) {
console.log('Image uploaded!');
res.redirect('/images');
}
else {
console.log('Image can not uploaded!')
res.render('image.ejs');
}
})
accessKeyId='foo'
secretAccessKey='foo'
region='foo'
.env
파일을 열어 주십시오.를 선택해야 합니다.참고 자료
multer
multer-s3
Reference
이 문제에 관하여([Express] S3에 이미지 업로드), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/kazuma_soon/articles/59c6a8fff55b12텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)