inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지

multer 사용시 file 외 name값은 못받나용?

419

Chang yong Park

작성한 질문수 19

0

const formData = new FormData();
        formData.append('testimg', files[0]);
        formData.append('foldername', 'testfolder');
        formData.append('key1', 'value1');
        axios.post('/crm/arr_image', formData, {
            headers: {
                'Content-Type': 'multipart/form-data'
            }
        }).then((res) => {
            console.log('성공~~~~~~~~~~~');
        }).catch((err) => {
            console.log('에러입니다 에러');
            console.error(err);
        });

 

const upload = multer({
    storage: multer.diskStorage({
        // 경로를 설정
        destination(req, file, cb) {
            console.log(req);
            console.log(req.body);
            console.log(req.file);
            console.log(req.headers);
            console.log('원래 안찍히는거야? 왜 안찍혀?');
            try {
                fs.readdirSync(`uploads/${req.body.foldername}`);
            } catch (error) {
                fs.mkdirSync(`uploads/${req.body.foldername}`);
            }
            cb(null, `uploads/${req.body.foldername}`);
        },
        filename(req, file, cb) {
            //파일명 설정
            const ext = path.extname(file.originalname);
            const filename = randomChracter(6);
            console.log(filename);

            cb(null, filename + Date.now() + ext);
        },
    }),
});


안녕하세요! 질문 있습니다!

강좌에서는 Multer 밖에다가 폴더를 체크하고 만들었었는데

폴더 이름이 프론트의 input - value 값에 있어서 요청이 들어올때마다 체크를 해줘야 해서

위처럼 만들었는데요!

 

이게 axios 를 사용 안하고 그냥 post 요청하면 폴더가 생성이 되는데

formData 객체를 생성해서 name - value 값을 넣어줬는데

multer 내 req.body 내에 아무것도 안찍히더라구요?? ㅠㅠ

원래 이러는건가요? 아니면 코드상에 문제가 있는걸까요??

formData.append('foldername', 'testfolder');

요 값을 multer 내 req.body로 받을수는 없는걸까요? ㅠ

mongodb mysql nodejs Sequelize

답변 1

1

제로초(조현영)

받을 수 있습니다.

많이들 실수하시는데 formData.append 시 이미지를 가장 마지막에 append 하셔야 합니다.


formData.append('foldername', 'testfolder');
formData.append('key1', 'value1');
formData.append('testimg', files[0]);

 

 

0

Chang yong Park

헐...... 순서때문이었다니..... 감사합니다!!!!!!!! ^0^

리눅스 노드 설치시 패키지

0

162

0

socket.js 에서 referer로부터 roomId를 가져올 때

0

908

3

스트리밍 방식으로 대용량 파일 업로드 & 다운로드 관련 질문

0

2285

2

a[title] 질문드립니다

0

378

1

리뉴얼 강의 및 공부 방법

0

583

1

jwt decode

0

1131

1

node.js 교과서 3판 질문드립니다

0

392

1

passport와 jwt

0

436

1

리뉴얼 강의

0

421

2

혹시 Node.js 교과서 3판 이북은 언제 나오나요?

0

355

1

몽고디비 사용자도 MYSQL부분을 들어야 하나요???

0

483

1

sql 쿼리 로그는 어떤 모듈이 작성하나요?

0

507

2

nunjucks res.render('error'); 작동을 안합니다.

0

513

1

질문있습니다.

0

348

1

multer 한글 파일 업로드시 파일명이 깨져요.

1

3537

1

수업자료는 어디있나요?

0

368

1

질문 있습니디

0

237

1

코드 중복 부분 질문드립니다.

0

300

1

api 만드는 이유 질문드립니다.

0

289

1

Strategy의 done에 대해 질문드립니다.

0

368

1

안녕하세요 fs 권한 관련 질문드립니다

0

453

1

시퀄라이즈 연결질문...

0

502

2

res.setHeader vs res.cookie

0

1790

3

실무에서의 에러처리에 대해 질문드립니다.

0

211

1