node.js 에서 이미지 업로드 모듈 multiparty 사용할 때 ajax 에러


조대협님 블로그 http://bcho.tistory.com/1078

여기서 multiparty 모듈 사용하여 이미지 업로드 공부하는데,

예제대로 하면 문제 없이 잘 되는데,

ajax 방식

$.ajax({
    type: "post",
    url: "/users/upload",
    data: $("#uploadForm").serialize(),
    // dataType: "json",
    // contentType: "application/x-www-form-urlencoded; charset=utf-8",
    success: function (data) {
      console.log('success: ', data);
    },
    error: function (jqXHR, textStatus, errorThrown) {
      console.log('jqXHR: ', jqXHR.status);
      console.log('message: ', jqXHR.responseText);
      console.log('error: ', errorThrown);
    }
});

으로 하니

Error: unsupported content-type
    at Form.parse (/Users/hanman/Documents/workspace/prj_test/node_modules/multiparty/index.js:160:21)
    at /Users/hanman/Documents/workspace/prj_test/routes/users.js:346:12
    at Layer.handle [as handle_request] (/Users/hanman/Documents/workspace/prj_test/node_modules/express/lib/router/layer.js:95:5)
    at next (/Users/hanman/Documents/workspace/prj_test/node_modules/express/lib/router/route.js:131:13)
    at Route.dispatch (/Users/hanman/Documents/workspace/prj_test/node_modules/express/lib/router/route.js:112:3)
    at Layer.handle [as handle_request] (/Users/hanman/Documents/workspace/prj_test/node_modules/express/lib/router/layer.js:95:5)
    at /Users/hanman/Documents/workspace/prj_test/node_modules/express/lib/router/index.js:277:22
    at Function.process_params (/Users/hanman/Documents/workspace/prj_test/node_modules/express/lib/router/index.js:330:12)
    at next (/Users/hanman/Documents/workspace/prj_test/node_modules/express/lib/router/index.js:271:10)
    at Function.handle (/Users/hanman/Documents/workspace/prj_test/node_modules/express/lib/router/index.js:176:3)
    at router (/Users/hanman/Documents/workspace/prj_test/node_modules/express/lib/router/index.js:46:12)
    at Layer.handle [as handle_request] (/Users/hanman/Documents/workspace/prj_test/node_modules/express/lib/router/layer.js:95:5)
    at trim_prefix (/Users/hanman/Documents/workspace/prj_test/node_modules/express/lib/router/index.js:312:13)
    at /Users/hanman/Documents/workspace/prj_test/node_modules/express/lib/router/index.js:280:7
    at Function.process_params (/Users/hanman/Documents/workspace/prj_test/node_modules/express/lib/router/index.js:330:12)
    at next (/Users/hanman/Documents/workspace/prj_test/node_modules/express/lib/router/index.js:271:10)

에러가 발생합니다..

form 직접 전송과 ajax 의 전송과 차이가 무엇이 있다고... ㅠ

도움 주실 수 있는 분 계신가요? ㅜㅜ

  • 2016년 07월 29일에 작성됨
    웹 사이트 공부 중입니다. 많은 도움 주시면 좋아요.

조회수 231


1 답변


좋아요
1
싫어요
채택취소하기

form에 enctype="multipart/form-data" 설정 하셨나요?

그냥 보기엔 설정안해서 unsupported content-type 오류인것 같아요

  • 2016년 07월 29일에 작성됨
    웹을 좋아함

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close