Skip to content
Snippets Groups Projects
multer.js 968 B
Newer Older
import multer from 'multer';

// diskStorage를 사용할 경우
// const diskStorage = multer.diskStorage({
//     destination: __dirname + '/uploads/',
//     filename: (req, file, cb) => {
//         cb(null, Buffer.from(file.originalname, 'latin1').toString('utf8'));
//     },
// });

// memoryStorage를 사용할 경우
const multerStorage = multer.memoryStorage();
Gwangbin's avatar
Gwangbin committed
const upload = multer({ storage: multerStorage });

// multer 라이브러리가 현재 텍스트를 latin1 으로 처리하여 한글로된 파일 이름이 깨지는 문제가 있다.
// Parser 함수를 따로 구현하여 사용하도록 한다.
export const fileNameParser = fileName => Buffer.from(fileName, 'latin1').toString('utf8');

// 해당 예제에서는 파일 데이터 여러개, JSON으로 된 텍스트 데이터 하나를 받는 폼을 가정한다.
export const articleFormDataHandler = upload.fields([
Gwangbin's avatar
Gwangbin committed
  { name: 'files', maxCount: 10 },
  { name: 'data', maxCount: 1 },