본문 바로가기

Development/Coding

Express 와 별도의 파일업로더 사용시 주의점

알게 모르게 사용하는 express.js 의 미들웨어 중 bodyParser() 라는 녀석이 있다.


이 녀석은 다음 3개의 미들웨어를 포함한 래퍼이다. 즉, 별도의 파일업로드 미들웨어와 사용시 충돌이 날 수 있다.

  • express.json()
  • express.urlencoded()
  • express.multipart()


express.js 메뉴얼에는 아래와 같이 명시되어 있다.


app.use(express.bodyParser());

// is equivalent to:
app.use(express.json());
app.use(express.urlencoded());
app.use(express.multipart());


jquery-file-upload-middleware 와 everyauth 를 사용하고 있는데 세션을 받아 오기 위해 everyauth 다음에 업로드 미들웨어를 선언하면 해당 url 에 접근할 수가 없었다. 반면 everyauth 는 반드시 bodyparser() 다음에 위치해야 토큰을 정상적으로 받아 올 수 있다.


문제는 구조상 bodyParset() 다음에 everyauth() 를 선언하고 파일업로드 미들웨어를 선언해야 할 경우 bodyParser() 안에 포함된 multipart() 때문에 파일업로더가 매핑한 경로까지 도달하지 못하는 것을 몇시간의 삽질로 알게 되었다. ;;;



'Development > Coding' 카테고리의 다른 글

Dart lang  (0) 2013.11.15
몽고DB 의 좋은 점 몇가지  (7) 2013.04.16
PHP 변수 초기화 및 조건부 할당  (0) 2012.11.08
KCP 결제 모듈 적용기  (0) 2012.10.11
Jade 템플릿 사용시 IE 예외 처리  (0) 2012.09.19