axios React Native镜像不适用于iOS,但适用于Android

mmvthczy  于 12个月前  发布在  iOS
关注(0)|答案(1)|浏览(143)

使用react-native-image-pickerreact-native-image-resizer包,我从设备上的图库中选择图像并尝试上传此图像。我使用axios multipart/form-data将图像上传到后端服务器。在Android设备上成功上传图像,但在模拟器上失败,没有任何响应或错误。
这里是我的一些代码。我没有得到任何登录控制台。

let formBody = new FormData();
formBody.append('json', JSON.stringify(userBody));
//userBody is json request

let avatarObject;
    if (avatarUri !== '' && avatarUri !== null) {
      avatarObject = {
        name: 'userImage.jpg',
        type: 'image/jpeg',
        uri: avatarUri
      };
    }
//avatarObject is image object for uploading here

if (typeof avatarObject !== 'undefined') {
      formBody.append('file', avatarObject);
    }

let myRequest = {
      method: 'post',
      url: URL.UPDATE_PERSONAL_DETAILS_With_IMAGE,
      headers: {
        Accept: 'application/json',
        'Accept-Encoding': Platform.OS === 'ios' ? 'gzip' : '',
        'Content-Type': 'multipart/form-data',
      },
      data: formBody,
    };

return axios
      .request(myRequest)
      .then((res) => {
        console.log('-----updateUserData.Redux.res.data-----', res.data);
        dispatch({type: UPDATE_USER_DATA_SUCCESS});
      })
      .then(() => dispatch(getUserData()))
      .catch((err) => {
        console.log('-----updateUserData.Redux.err-----', err);
        dispatch({type: UPDATE_USER_DATA_FAILURE, error: err});
      });
  };

字符串

ldioqlga

ldioqlga1#

如果应用程序崩溃,这一行将不起作用,请将这一行添加到请求头对象中。
第一个月

相关问题