[Node.js] Multer 이미지 다운로드

이상협·2023년 1월 4일
0

Node.js

목록 보기
5/6

Multer

안드로이드앱프로그래밍 과목을 들으면서 안드로이드에서 nodejs서버로 이미지 파일을 전송해야되는 경우에 사용하기위해 Multer 모듈을 채택했다.

안드로이드에서 retrofit을 통한 서버로 이미지 전송과정은 생략하고 nodejs서버에서 처리하는 과정만 설명하도록 하겠다.

코드

const multer = require('multer')
const crypto = require('crypto')

const storage = multer.diskStorage({
  destination: 'images/', // 이미지 저장 경로
  filename: (req, file, cb) => {
    return crypto.pseudoRandomBytes(16, (err, raw) => {
      if(err) {
        return cb(err)
      }
      return cb(null, file.originalname)
    })
  }
})

const upload = multer({ storage: storage })

router.post('/[api url]', upload.single('file'), (req, res) => {
  try {
    let file = req.file
    let originalName = ''
    let fileName = ''
    let mimeType = ''
    let size = 0
    
    if (file) {
      originalName = file.originalname
      fileName = file.filename
      mimeType = file.mimeType
      size = file.size
      ...
    }
      
    ...
    
    res.send(...)
  } catch(err) {
    res.send(...)
  }
}

참고

0개의 댓글