当使用 axios 发送文件时,react native 出现网络错误。

问题描述 投票:0回答:1

我正在使用api平台创建端点来处理图片上传.我的api需要一个文件类型来进行post请求.这是一个使用post man进行post请求的例子。

enter image description here

我想使用react native处理用axios发送图片。

我创建了这样一个post请求。

 this.setState({
      avatarSource: source,
    });

    console.log(this.state.avatarSource.uri);
    const data = new FormData();

    data.append('file', {
      uri: this.state.avatarSource.uri,
      // show full image path in my device
      //  file:///storage/emulated/0/Pictures/image-c40b64fc-6d74-46a7-9016-191aff3740dd.jpg
    });

    axios
      .post(`${API.URL}/media_objects`, data, {
        headers: {
          'Content-Type': 'multipart/form-data',
        },
      })
      .then((resp) => console.log(resp))
      .catch((err) => console.log(err.message));
  }
});

我把手机里的图片全路径发送给api,但是我收到了 "网络错误"。

react-native file-upload axios api-platform.com
1个回答
0
投票

我通过在ReactNativeFlipper.java中注释这一行来解决这个问题。

  NetworkFlipperPlugin networkFlipperPlugin = new NetworkFlipperPlugin();
  NetworkingModule.setCustomClientBuilder(
      new NetworkingModule.CustomClientBuilder() {
        @Override
        public void apply(OkHttpClient.Builder builder) {
          // builder.addNetworkInterceptor(new FlipperOkhttpInterceptor(networkFlipperPlugin)); // add comment here and build android 
        }
      });
  client.addPlugin(networkFlipperPlugin);
  client.start();
© www.soinside.com 2019 - 2024. All rights reserved.