const aws = require('aws-sdk');
aws.config.update({
accessKeyId: process.env.AWS_S3_ACCESS_KEY,
secretAccessKey: process.env.AWS_S3_SECRET_ACCESS_KEY,
region: process.env.AWS_S3_REGION,
});
const s3 = new aws.S3();
const multerS3 = require('multer-s3');
const upload = multer({
storage: multerS3({
s3: s3,
bucket: process.env.AWS_S3_BUCKET,
acl: 'public-read', // 파일 접근 권한 설정
key: (req, file, cb) => {
cb(null, Date.now().toString() + '-' + file.originalname);
},
}),
});
생성한 s3 객체로만 파일 업로드를 할 수 있지만, multer를 통해 파일을 받을 때 서버에 저장이 되기 때문에 삭제 처리를 해야한다. 하지만 multerS3를 사용해서 multer가 파일을 바로 s3에 업로드 할 수 있게 처리할 수 있다.