개발/Node.js

개발/Node.js

[Error][Express] MulterError: Unexpected field

문제점 이미지 파일을 2개 이상 전송했는데 multer().single함수를 사용하여 발생 해결방법 single대신 array함수를 사용한다. multer().array(fieldName, maxCount) 첫번째 인자로는 single의 인자와 똑같이 전송시에 정해둔 fieldName 두번째 인자로는 전송할 이미지의 최대 개수 두 인자를 주면 된다. 참고로 single함수를 사용하면 file의 정보는 req.file로 하나의 정보만 볼 수 있는데 array함수를 사용하면 req.files에 리스트로 담겨있는 것을 볼 수 있다.

개발/Node.js

[Error][Express][Flutter] TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received undefined

flutter에서 express서버로 image를 전송한 뒤 multer 미들웨어를 통해 받을 때 위 에러가 발생했다. 위 에러가 발생하면 서버가 종료되었다가 다시 실행되어 flutter에선 아래 에러를 뱉어낸다. Unhandled Exception: Connection closed before full header was received 통신이 다 끝나기도 전에 서버가 재시작되어 발생한다고 볼 수 있다. 문제점 const storage = multer.diskStorage({ destination: (req, file, callback) => { callback(null, __dirname + '/target/dir'); }, filename: (req, file, callback) => { callb..

개발/Node.js

[Express] req.body undefined

문제점 body를 사용할 수 있도록하는 body-parser 미들웨어를 사용하지 않아 발생 (express버전이 4.16이상이라면 express에 내장되어 있음) 해결방법 express 4.16이상 const express = require('express'); const app = express(); ​ // parse application/x-www-form-urlencoded app.use(express.urlencoded({extended: true})); ​ // parse application/json app.use(express.json()); express 4.15이하 1. body-parser 미들웨어 설치 npm i body-parser 2. 적용 const express = requi..

개발/Node.js

Mac Node.js 업데이트 (n 모듈)

n이라는 node.js 버전 관리 모듈을 이용해서 쉽게 업데이트 가능하다. 실제론 업데이트라기보단 해당 버전을 다운로드하는 것이다. npm에서 n 모듈 설치 sudo npm install -g n 업데이트(다운로드) 아래의 예시와 같이 필요한 버전을 설치 가능하다. sudo n lts sudo n latest sudo n 버전 버전 변경 버전 관리 모듈이여서 여러 버전을 다운 받고 변경도 가능하다 아래 명령어를 입력하면 다운받은 버전들 목록이 보이고 화살표 위/아래 키로 바꿀 버전으로 커서를 옮기고 엔터 클릭하면 버전이 변경된다. sudo n 참고 Upgrade Node.js to the latest version on Mac OS Currently I am using Node.js v0.6.16 on ..

leebera_
'개발/Node.js' 카테고리의 글 목록