➊ new S3Client에 AWS S3 연결에 관한 설정을 할 수 있습니다. 조금 전에 발급받은 액세스 키 ID와 보안 액세스 키, 리전(ap-northeast-2가 서울)을 입력했습니다.
➋ 또한, multer의 storage 옵션을 multerS3로 교체했습니다. multerS3의 옵션으로 s3 객체, 버킷명(bucket), 파일명(key)을 입력했습니다. 버킷명은 여러분의 버킷명을 적어야 합니다. key 옵션으로 저장할 파일명을 설정했으며, 버킷 내부에서 original 폴더 아래에 생성합니다.
multerS3를 사용하면 req.file.location에 S3 버킷 이미지 주소가 담겨 있습니다. 이 주소를 클라이언트로 보냅니다.
nodebird/controllers/post.js
const { Post, Hashtag } = require('../models');
exports.afterUploadImage = (req, res) => {
console.log(req.file);
res.json({ url: req.file.location });
};
...