React Native Axios上传图像在Android上返回网络错误

时间:2020-04-18 11:08:43

标签: android react-native axios

我尝试使用count of Posts将一些数据(包括图像)上传到服务器。

它在iOS上运行完美,但是在Android上,它返回了 Board

annotate

我试图在其他地方搜索解决方案,他们说问题出在Axios对象的Network Error内,它需要使用const data = new FormData(); data.append('tag', tag.METHOD_TAG_UPLOAD_PHOTO); data.append('app_version', 1); data.append('os_type', tag.OS_TYPE); data.append('store_code', kodetoko); data.append('photo', { uri: image_picked.uri, type: 'image/jpeg', name: judul + ".jpg" }); 类型。我正在使用它,但它仍然返回 type 。请帮忙。

4 个答案:

答案 0 :(得分:3)

  1. 打开此目录'android / app / src / debug / java / com / flatApp / ReactNativeFlipper.java'

  2. 根据以下代码注释该行:

      NetworkingModule.setCustomClientBuilder(
       new NetworkingModule.CustomClientBuilder() {
         @Override
         public void apply(OkHttpClient.Builder builder) {
           // builder.addNetworkInterceptor(new FlipperOkhttpInterceptor(networkFlipperPlugin));
         }
       });
    

答案 1 :(得分:1)

我遇到了同样的问题,接受的答案对我没有用。以下是对我有帮助的。

  1. 在android / app / src / main / java / com / {yourProject} /MainApplication.java中 评论以下行:

    initializeFlipper(this, getReactNativeHost().getReactInstanceManager())
    
  2. 在android / app / src / debug / java / com / {yourProject} /ReactNativeFlipper.java中 在第43行中注释:

    builder.addNetworkInterceptor(new FlipperOkhttpInterceptor(networkFlipperPlugin));
    
  3. 图片上传代码:

    var formData = new FormData();
       formData.append('UserId', 'abc@abc.com');
       formData.append('VisitId', '28596');
       formData.append('EvidenceCapturedDate', '09/10/2019 13:28:20');
       formData.append('EvidenceCategory', 'Before');
       formData.append('EvidenceImage', {
         uri: Platform.OS === 'android' ? `file:///${path}` : `/private${path}`,
         type: 'image/jpeg',
         name: 'image.jpg',
       });
       axios({
         url: UrlString.BaseUrl + UrlString.imageUpload,
         method: 'POST',
         data: formData,
         headers: {
           Accept: 'application/json',
           'Content-Type': 'multipart/form-data'
         },
       })
         .then(function (response) {
           console.log('*****handle success******');
           console.log(response.data);
    
         })
         .catch(function (response) {
           console.log('*****handle failure******');
           console.log(response);
         });
    

答案 2 :(得分:0)

FLIPPER_VERSION = 0.41.0

将您的Flipper_Version更新为等于或大于0.41.0

答案 3 :(得分:0)

我遇到了这个问题,我猜是关于Flipper Network的问题。

有一阵子,我评论了initializeFlipper(this,getReactNativeHost()。getReactInstanceManager())

在此文件/ android / app / src / main / java / com / {your_project} /MainApplication.java

现在这可以正常工作