Skip to content
Snippets Groups Projects
multer.js 966 B
Newer Older
  • Learn to ignore specific revisions
  • 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},
    ]);