React Native 上传图片在 iOS 上不起作用,但在 Android 上起作用

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

使用

react-native-image-picker
react-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});
      });
  };
image react-native redux axios form-data
2个回答
0
投票

如果您的应用程序崩溃,这条线将不适合您 将此行添加到您的请求标头对象中。

'Access-Control-Allow-Origin': '*',


0
投票

有关此的任何更新。

对我来说,它在 Android 设备和 iOS 模拟器设备上运行良好,但是当我尝试在真实的 iOS 设备中上传图像/文件时,它失败了。

© www.soinside.com 2019 - 2024. All rights reserved.