2020-05-25

박동건·2020년 5월 25일
0

TIL(2020)

목록 보기
27/49

Today I Learn...

이미지 업로드

  • multer

    폼 데이터 파일 => req.file(s),
    폼 데이터 일반 값 => req.body

const multer = require("multer");
const path = require("path");

const upload = multer({
  storage: multer.diskStorage({
    destination(req, file, done) {
      // null은 서버에러, 뒤에는 성공 시 uploads폴더에 저장하겠다. =>  S3에도 가능
      done(null, "uploads");
    },
    filename(req, file, done) {
      const ext = path.extname(file.originalname); // 확장자 추출
      const basename = path.basename(file.originalname, ext); 
      // 제로초.png, ext === .png, basename === 제로초
      done(null, basename + new Date().valueOf() + ext); 
      // 파일명이 같으면 덮어씌어지기 때문에 시간을 추가해줌
    },
  }),
  limits: { fileSize: 20 * 1024 * 1024 },
});
  • multiple

<input   type="file"
          multiple
          hidden
          ref={imageInput}
          onChange={onChangeImages}/>
profile
박레고의 개발 블로그

0개의 댓글