본문 바로가기
개발(Development)/JS(자바스크립트)

[Node.js] Multer 파일 업로드 관련 에러: MulterError: Unexpected field

by 카레유 2022. 5. 14.

# Node.js - MulterError: Unexpected field 해결 방법

Node.js 에서 Multer 를 통해서 파일을 업로드 받을 때, 

아래와 같은 에러가 발생할 수 있다.

 

[에러 코드]

MulterError: Unexpected field

code: 'LIMIT_UNEXPECTED_FILE',
storageErrors: []

 

 

[문제 원인]

multer는 input 태그의 name이나, FormData 객체의 key값을 통해

업로드된 파일을 식별한다.

 

이 값을 multer의 single() 이나 fields() 의 인자로 넣어주지 않았기 때문에 발생하는 문제다.

(다른 문제일 수도 있으나, 내 경우엔 그랬다. 즉, 단순 실수다)

 

 

[해결 방법]

Multer 미들웨어를 라우터에 설정 할 때,

single() 이나 fields() 메서드의 인자를 정확하게 설정해주자.

 

- 1개의 input 태그 ||  FormData 전송시

Multer.single( "html input의 name || FormData의 키")

 

- 여러개의 input 태그 사용시

Multer.fields([{ name: '1번째 input의 name' }, { name: '2번째 input의 name' }]);

* 라우터의 req.files에 각각 설정한 이름으로 업로드 결과물이 저장된다.

 

 

댓글