gpt4 book ai didi

android - 无法在 axios 上发出 POST 请求(React-Native)

转载 作者:太空狗 更新时间:2023-10-29 14:39:36 28 4
gpt4 key购买 nike

我正在向“Cloudinary”服务器发出 POST 请求以上传图像并使用 react-native 中的 axios 发送表单数据。整个过程在 iOS 上运行良好,但在 Android 上我收到“网络错误”。

我正在使用 axios 0.18.0,并且从过去 3 天开始一​​直坚持使用它。有人请帮助我。

很多人都遇到过这个问题,但至今没有解决方案。

 var photo = {
uri: image.sourceURL,
type: image.mime,
name: image.filename,
};

var formData = new FormData();
formData.append('file',photo);
formData.append('upload_preset','abcde');

axios({
url:'https://api.cloudinary.com/v1_1/abcde/upload',
method:'POST',
headers:{
'Content-Type':'application/x-www-form-urlencoded'
},
data:formData
}).then(function(response){

}).catch((error) =>{
//Network error comes in
});

确切的控制台错误是:

Error: Network Error
at createError (createError.js:16)
at XMLHttpRequest.handleError (xhr.js:87)
at XMLHttpRequest.dispatchEvent (event-target.js:172)
at XMLHttpRequest.setReadyState (XMLHttpRequest.js:567)
at XMLHttpRequest.__didCompleteResponse (XMLHttpRequest.js:397)
at XMLHttpRequest.js:503
at RCTDeviceEventEmitter.emit (EventEmitter.js:179)
at MessageQueue.__callFunction (MessageQueue.js:351)
at MessageQueue.js:116
at MessageQueue.__guardSafe (MessageQueue.js:314)

有人可以指出我正确的方向,因为我从过去 3 天就被困在这里了。P.S:相同的代码在 iOS 上运行良好。

最佳答案

我也在这个问题上纠结了一段时间。但是我现在在 Android 设备上解决了我的 axios post network createError 的问题。 axios 网络错误的原因是因为我传递给 axios 的表单数据包含我猜的错误类型的数据对象。我已经包含一个图像对象(来自 Expo 的 ImagePicker 对象)作为表单数据的参数之一,我认为它不被 axios 接受。 Axios 可能只接收字符串、 float 、整数或图像作为参数。 image 不能作为参数传递,它不是一种图像,它是一个 react native 对象,我已经删除它并通过将 image.uri 分配给 param 的值来包含一个图像字段作为参数然后它工作。希望这会帮助一些可能遇到与我之前遇到的问题相同的人。 在测试 axios 网络错误时,将一些表单数据一一删除,您将找出问题的原因。

关于android - 无法在 axios 上发出 POST 请求(React-Native),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50568922/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com