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(); const upload = multer({ storage: multerStorage }); // multer 라이브러리가 현재 텍스트를 latin1 으로 처리하여 한글로된 파일 이름이 깨지는 문제가 있다. // Parser 함수를 따로 구현하여 사용하도록 한다. export const fileNameParser = fileName => Buffer.from(fileName, 'latin1').toString('utf8'); // 해당 예제에서는 파일 데이터 여러개, JSON으로 된 텍스트 데이터 하나를 받는 폼을 가정한다. export const articleFormDataHandler = upload.fields([ { name: 'files', maxCount: 10 }, { name: 'data', maxCount: 1 }, ]);