错误:网络错误Axios-Image React Native

时间:2020-05-09 13:38:17

标签: android api react-native axios fetch

我正在尝试将图像发布到服务器,但是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  );

它会抛出相同的错误

[错误:网络错误]

请放弃可能的最佳解决方案

感谢您的宝贵时间。

1 个答案:

答案 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 部分?