2017-12-18 14 views
2

React Native에서 내 서버로 파일을 업로드하려고합니다. 그러나 'Content-Type' 헤더를 multipart/form-data으로 설정할 수 없습니다.React Native Debugger를 통해 multipart/form-data로 axios POST 요청하기

axios({ 
    uri: 'http://localhost:3000', 
    method: 'POST', 
    data: formData, 
    headers: { 
    Accept: 'application/json', 
    'Content-Type': 'multipart/form-data' 
    } 
}); 

내가 네트워크 요청을 모니터링하는 반작용 기본 디버거를 사용하고 있습니다 :

여기 내 간단한 요청입니다. 내가 디버거 안에 내 네트워크 요청을 볼 때

,이 참조 :

'Content-Type': 'text/plain;charset=UTF-8'

및 요청 페이로드는 단순히 [object Object]

사용자 에이전트입니다 : Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) ReactNativeDebugger/0.7.13 Chrome/58.0.3029.110 Electron/1.7.9 Safari/537.36

나는 경우 React Native Debugger로이 작업을 수행 할 수 없으면 누구든지 엑스포를 통해 테스트 할 수있는 모든 단계를 제안 할 수 있습니다. 다음과 같이 Axios의 (0.17.1)의 최신 버전을 사용

답변

2

, 당신은 헤더에 'Content-Type': 'multipart/form-data'와 HTTP 요청을합니다

const formData = new FormData(); 
formData.append('action', 'ADD'); 
formData.append('param', 0); 
formData.append('secondParam', 0); 
formData.append('file', new Blob(['test payload'], { type: 'text/csv' })); 
axios({ 
    url: 'http://localhost:5000/api/hello', 
    method: 'POST', 
    data: formData, 
    headers: { 
    Accept: 'application/json', 
    'Content-Type': 'multipart/form-data' 
    } 
}) 

두 가지 : 나는 uriurl을하지 사용하고 있습니다. 또한 양식 데이터와 URL을 직접 입력하십시오. 성공적으로 회신 된 요청을 검토하면 다음과 같이 요청 헤더를 얻습니다.

enter image description here