我正在尝试将图像发布到服务器,但是axios抛出错误消息
[错误:网络错误]
我创建了一个bodyFormData并附加了以下内容
bodyFormData.append('image', {
name: imgName,
type: 'image/jpeg',
uri: this.state.image,
});
其中我的imageName
只是一个字符串,而this.state.image
是文件路径file:///storage/emulated/0/Pictures/0cccb0f1-375b-44b8-b15b-4625536a8d63.jpg
Axios通话
const addProduct = async product => {
try {
var prod = await axios({
method: 'post',
url: baseURL + 'addProduct',
data: product,
headers: {
'content-type': `multipart/form-data; boundary=${product._boundary}`,
Accept: 'application/json',
},
},
});
return prod;
} catch (err) {
throw err;
}
};
经过多次试验,我了解到即使在bodyFormData
中,我也可以编写任何类型的json对象
const oj = {
name: 'a',
c: 8,
}
bodyFormData.append('image', obj );
它会抛出相同的错误
[错误:网络错误]
请放弃可能的最佳解决方案
感谢您的宝贵时间。
答案 0 :(得分:0)
我最近实现了此(有效)代码
const formData = new FormData();
formData.append('file', {
type: 'image/jpeg',
name: `myname.jpeg`,
uri: isAndroid() ? uri : uri.replace('file://', ''),
});
并在api调用中带有此标头
'Content-Type': 'multipart/form-data'
它与您的代码非常相似-也许是 uri 部分?