
153
8
장
폼 처리
멀티파티의
parse
메서드를 써서 요청 데이터를 데이터 필드와 파일로 분석했습니다. 이 메서
드는 파일을 서버의 임시 디렉터리에 저장하며, 그 정보를
files
배열로 반환합니다.
이제 라우트 핸들러에 전달할 정보가 더 생겼습니다. 수집한 파일에 대한 정보가 있고, 필드
에 대한 정보가 있습니다(필드에 대한 정보는 이전 예제와 다른
body
-
parser
를 쓰기 때문에
req
.
body
에는 들어 있지 않습니다 ). 라우트 핸들러에 넘길 정보를 알게 됐으니 다음과 같이
라우트 핸들러를 작성합니다.
exports.vacationPhotoContestProcess = (req, res, fields, files) => {
console.log(‘field data: ‘, fields)
console.log(‘files: ‘, files)
res.redirect(303, ‘/contest/vacation-photo-thank-you’)
}
년과 월은
14
장에서 배울 라우트 매개변수로 전달됩니다. 예제를 실행하고 콘솔을 보면 폼
필드가 필드 이름에 대응하는 프로퍼티를 가진 객체 형태로 전달된 걸 확인할 수 있습니다.
files
객체에는 데이터가 더 많이 들어 있지만 비교적 단순한 편입니다. 업로드된 각 파일에
대해 파일의 크기, 업로드된 경로 ...