2017-03-21 1 views
0

js를 사용하여 multipart/form-data와 함께 게시 요청을 처리하고 있습니다. 게시 요청이 multipart/form-data가있는 클라이언트에서 전송되면 항상 잘못된 요청 오류가 반환됩니다. 우편 배달부를 통해 요청을 보내면 "다중 게시물 게시 요청을 보낼 때 잘못된 다중 사용자 페이로드 형식"이라는 오류 메시지가 나타납니다. 내가 사용하는 호출 방법에 상관없이 서버 측에서 아무런 조치도 취하지 않습니다.멀티 파트 게시 요청을 보낼 때

{ 
     method: "POST", 
     path: "/uploadFile", 
     config: { 
      payload: { 
       output: "stream", 
       parse: true, 
       allow: "multipart/form-data" 
      }, 
      handler: (request, reply) => { 
       console.log("get into handler"); 
       let data = request.payload; 
       if (data.file) { 
        let name = data.file.hapi.filename; 
        console.log(name); 
       } else { 
        console.log("no data"); 
       } 
      } 
     } 
    } 

클라이언트 측 코드는 다음과 같다 : 클라이언트 측에 대한 각 프레임 워크를 사용하는 것처럼

$http({ 
       method: 'POST', 
       url: serviceURL 
       headers: { 
        'Content-Type': 'multipart/form-data; boundary=--xxxxSEPARATIONxxxx--' 
       }, 
       data: formData 
      }); 

답변

1

보인다. 내 경험에 따르면 'Content-Type'을 헤더에서 정의되지 않은 것으로 변경하면 브라우저가 올바른 형식을 설정합니다. 또한 transformRequest : angular.identity 참조 this 링크를 추가하십시오.

코드는 다음과 같아야합니다

$http({ 

     method: 'POST', 
     url: serviceURL 
     headers: { 
      'Content-Type': undefined 
     }, 
     transformRequest: angular.identity, 
     data: formData 
    }); 

희망 당신을 위해이 일을.

+0

저는 AngularJS에 새로 왔습니다. 같은 해결책으로 동료의 도움으로 그것을 알아 냈습니다. 그래도 감사합니다! – zhangjinzhou

관련 문제