S3 파일처리(2021.10.21)

김도형 (르베니아)·2021년 10월 21일
0

TIL

목록 보기
20/38

s3 버킷

임포트..!

const multer = require('multer');
const multerS3 = require('multer-s3');
const AWS = require('aws-sdk');
const path = require('path');
AWS.config.update({
  accessKeyId: process.env.accessKeyId,
  secretAccessKey: process.env.secretAccessKey,
  region: 'ap-northeast-2',
});

당연히 AWS 설정을 해줘야죠 ㅎ
이후 이미지 업로드.. 미들웨어로 씁시다..!

const upload = multer({
  storage: multerS3({
    s3: new AWS.S3(),
    bucket: process.env.bucket,
    key(req, file, cb) {
      cb(null, `original/${Date.now()}${path.basename(file.originalname)}`);
    },
    acl: 'public-read-write',
  }),
  limits: { fileSize: 5 * 1024 * 1024 },
});

미들웨어 예시..!

router.post('/', midware, upload.single('image'), async (req, res) => 

당연히 이미지 업로드를 했으면 삭제도 해야죠

s3.deleteObject(
          {
            Bucket: process.env.bucket,
            Key: `original/${beforeImage}`,
          },
          (err, data) => {
            if (err) {
              throw err;
            }
          }
        );
profile
한다. 간다. 해낸다.

0개의 댓글