파일을 여러 개 업로드하지만 input 태그나 폼 데이터의 키가 다른 경우에는 fields 미들웨어를 사용합니다.
multipart.html
<form id="form" action="/upload" method="post" enctype="multipart/form-data">
<input type="file" name="image1" />
<input type="file" name="image2" />
<input type="text" name="title" />
<button type="submit">업로드</button>
</form>
fields 미들웨어의 인수로 input 태그의 name을 각각 적습니다.
app.post('/upload', upload.fields([{ name: 'image1' }, { name: 'image2' }]), (req, res) => { console.log(req.files, req.body); res.send('ok'); }, );
업로드 결과도 req.files.image1과 req.files.image2에 각각 들어 있습니다.