gpt4 book ai didi

javascript - React Native Fetch 给出错误 "Network request failed"

转载 作者:行者123 更新时间:2023-12-03 00:27:45 25 4
gpt4 key购买 nike

我有以下代码用于创建带有图像和一些正文参数的事件。当我在没有图像的情况下执行此操作时,它工作正常,我使用 react-native-image-crop-picker 来选择图像。从 react native 发布数据时出现“网络请求失败”错误。该请求永远不会到达我的后端,因为我在那里没有收到任何日志。它与 postman 一起工作正常。

我的代码:

const { name, date, description, location, uri, mime, time } = this.state;

const formData = new FormData();
formData.append('name', name)
formData.append('date', date)
formData.append('description', description)
formData.append('location', location)
formData.append('time', time)

formData.append('image',{
uri:uri,
mime:'image/jpeg',
name:`image${moment()}`
})


alert(JSON.stringify(formData));
const config = {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'multipart/form-data',
},
body: formData,
};

fetch(`http://${Config.apihost}:${Config.port}/events`,config).then((res) => res.json())
.then((res) => {
this.setState({ modalVisible: false, name:'', date: moment().format('YYYY-MM-DD'), description:'', Location: 'AlHedaya Masjid' })
this.props.addEvent(res.message);

// this.props.navigation.goBack();
}).catch((err) => alert(err));

我有另一个屏幕,其中包含不同数量的图片,例如图库,我正在将多张图片上传到图库,该请求使用下面的代码可以正常工作。

 const data = new FormData();
data.append('name', 'avatar');
images.map((res, i) => {
data.append('fileData[]', {
uri: res.path,
type: res.mime,
name: `image${i}${moment()}`
});
})
const config = {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'multipart/form-data',
},
body: data,
};
fetch(`http://${Config.apihost}:${Config.port}/events/${this.state.item.id}/photos`, config)
.then((checkStatusAndGetJSONResponse) => checkStatusAndGetJSONResponse.json())
.then((response) => {

if (response.status && response.message.length > 0) {
var images = this.state.images;
response.message.map(file => {
images.push(`http:${Config.apihost}:${Config.port}/images/${file.id}`);
});
this.setState({ images });
}
}).catch((err) => { alert(err) });

我真的看不出这两个代码之间的区别,但上面的代码给了我错误。

  • 我正在 Android 上进行测试
  • 我使用的是 IP 地址而不是本地主机(我的其他请求正在运行,所以这是不可行的)
  • 此链接中的解决方案均无效 React Native fetch() Network Request Failed

我错过了什么吗?

最佳答案

在第一个代码片段中,您编写了 mime 而不是 type

formData.append('image',{
uri:uri,
**mime:'image/jpeg**',
name:`image${moment()}`
})

它应该像下面的代码片段

formData.append('image',{
uri:uri,
type:'image/jpeg',
name:`image${moment()}`
})

关于javascript - React Native Fetch 给出错误 "Network request failed",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54013474/

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