【问题标题】:Uploading Image to server in react native. Getting Error "Network request failed"在本机反应中将图像上传到服务器。收到错误“网络请求失败”
【发布时间】:2020-11-21 12:34:30
【问题描述】:

调用函数: 这是我创建 API 调用的地方。

onAddMenuApi(formData) {
    return fetch(UserManagerIns.getUserData('API_URL') + 'menu-item-add', {
      method: 'POST',
      headers: {
        Accept: 'application/json',
        'Content-Type': 'multipart/form-data',
      },
      body: formData,
    })
      .then(response => {
        if (!response.ok) {
          throw new Error(response.status);
        }
        return response.json();
      })
      .then(myres => {
        console.log('Item Add API data::::: ' + JSON.stringify(myres));
        return myres;
      })
      .catch(error => {
        return error;
      });
  },

设置参数: 这是我在此之后进行 API 调用并设置 formData 参数的地方。

let params = {
      title: this.state.title,
      price: this.state.price,
      menu_cat_id: this.state.menu_cat_id,
    };

    let formData = new FormData();
    for (var k in params) {
      formData.append(k, params[k]);
      console.log('My Data :: ' + params[k]);
    }


    formData.append('image_url', {
      uri: this.state.ImageSource,
      name: this.state.filename,
      type: this.state.type,
    });

作为回应,我收到“网络请求失败”。

我在 AndroidManifest 文件中添加了以下行:android:usesCleartextTraffic="true"

我也添加了 network_security_config.xml,但它不起作用。

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <base-config cleartextTrafficPermitted="true">
        <trust-anchors>
            <certificates src="system" />
        </trust-anchors>
    </base-config>
</network-security-config>

【问题讨论】:

标签: javascript android mysql reactjs react-native


【解决方案1】:

试试这个:

标题:{ '接受': '应用程序/json', “内容类型”:“多部分/表单数据”, },

【讨论】:

  • 已经用过了。请阅读相关代码。
  • 还有其他解决方案吗??
猜你喜欢
  • 1970-01-01
  • 2019-11-28
  • 2019-09-16
  • 1970-01-01
  • 1970-01-01
  • 2019-08-19
  • 2017-12-14
  • 2021-11-29
  • 2018-03-01
相关资源
最近更新 更多