我是React Native的新手,尝试使用Axios上传图像,但得到:Request failed with status code 500
我没有后端问题,因为我可以上传图像与 Postman 和一切都很好。
下面是我的代码,如果你知道的话请帮我解决,当我控制台记录数据时,所有的数据都是正常的!!
const data = new FormData();
data.append('name', name);
data.append('childrenImage', childrenImage);
data.append('parent', parent)
console.log(data);
axios.post('http://192.168.0.24:3000/childrens/', data, {
headers: {
'Authorization': auth,
'accept': 'application/json',
'Content-Type': `multipart/form-data`
}
}
).then(res => {
console.log(res.data);
console.log(res.status);
})
.catch(err => {
console.log(err.message);
});
6条答案
按热度按时间soat7uwm1#
不能确定,但在我的情况下,我不得不添加一个'名称'字段到文件。遵循其他建议,我已经结束了这样的东西:
svujldwt2#
我找到了解决方案。首先我需要从我的URI中删除file://,所以我添加了代码:
而不是什么导致的问题是图像类型,请检查什么图像类型,你试图上传,你可以上传取决于后端你正在使用.
希望能帮助有同样问题的人
kx1ctssn3#
我有同样的问题,这是什么帮助我。
1.在android/app/src/main/java/com/{您的项目}/MainApplication.java中注解以下行:
1.在android/app/src/debug/java/com/{您的项目}/ReactNativeFlipper.java第43行中的注解:
1.图像上传代码:
mbyulnm04#
翻转器版本=0.33.1至翻转器版本=0.41.0
需要更新您的Flipper_Version高于或等于0.41.0,更新后工作正常。
sauutmhj5#
在Android上有两件事很重要;设置
'Content-Type': 'multipart/form-data'
另外,确保你的Blob上的类型是有效的MimeType。在我的例子中,我传递了
type: 'image'
,在iOS中,它工作得很好,但在android上,它不工作,直到我相应地将它更新为type: 'image/jpeg'
。bkhjykvo6#
在react中,我使用以下代码:
在后端接收文件并使用console.log(req.files)进行测试
我希望能帮助到你:)