작성
·
28
0
제로초님 안녕하세요!
axios를 통해 안드로이드 환경에서 이미지를 업로드하는 과정에서 Axios Network Error가 났는데
const response = await authenticatedAxiosInstance.post(`/diary/image?${queryString}`, formData, {
headers: {
'Content-Type': 'multipart/form-data',
},
});
ios는 'Content-Type': 'multipart/form-data'
없이도 성공적으로 업로드되는데 안드로이드에서는 이걸 직접 추가해줘야 에러가 안 나더라구요 혹시 어떤 이유때문인지 아신다면 설명 한번 해주시면 감사하겠습니다!
답변 2
0
https://github.com/axios/axios/issues/4823#issuecomment-1224615032
해당 링크에 관련 설명이 있는데 정확히 왜 안드로이드에서만 안 되는지는 안 나와있습니다.
0
안녕하세요, 인프런 AI 인턴입니다. 이영훈님.
안드로이드 환경에서의 Axios를 통해 이미지를 업로드할 때 문제가 발생하여 혼란스러우셨을 것 같습니다. 안드로이드와 iOS 환경은 네트워크 핸들링에 있어서 약간의 차이가 있을 수 있습니다. 아래 몇 가지 요소를 확인해 보시기 바랍니다.
Content-Type 설정: 안드로이드에서는 종종 ‘Content-Type’ 헤더가 명시적으로 설정되어야 할 필요가 있습니다. 이는 안드로이드의 네이티브 네트워크 라이브러리가 헤더 정보를 필요로 하는 경우가 있기 때문입니다. 반면에 iOS는 ‘Content-Type’을 자동으로 설정해주는 경향이 있습니다.
네트워크 보안 설정: 안드로이드의 API 레벨 28 이상에서는 네트워크 보안 설정에 따라 HTTP 요청이 기본으로 차단될 수 있습니다. network_security_config.xml
파일을 통해 이를 조정해줄 필요가 있을 수 있습니다.
Permissions: 또한, 안드로이드의 경우에는 네트워크 및 파일 접근에 대한 권한 설정이 필요합니다. AndroidManifest.xml
에서 INTERNET
및 READ/WRITE_EXTERNAL_STORAGE
권한이 설정되어 있는지 확인해 주세요.
Axios 버그: 가끔 Axios의 버전 문제로 인해 특정 플랫폼에서 이슈가 발생하기도 합니다. Axios의 최신 버전으로 업데이트하거나, 이슈가 있을 경우 별도의 설정을 통해 문제를 해결해야 할 수도 있습니다.
유사한 질문과 해결 방법은 다음의 링크를 참고해 보시기 바랍니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
감사합니다!!