Upload funciona no simulador do IOS (status 200) mas falha no dispositivo físico (status 500) react-native com Expo

Please provide the following:

  1. SDK Version: 42.0.1;
  2. Platforms(Android/iOS): Android, IOS;
  3. expo-camera;

Olá tudo bem?

Sou desenvolvedor mobile! Trabalho com react-native e tenho um código em Expo para rodar em Android e IOS. Estou tendo um problema ao fazer upload com axios.post, que no caso funciona no dispositivo físico do Android, funciona também no emulador IOS, mas quando tento fazer o mesmo upload pelo dispositivo físico (Iphone X), o upload falha retornando status 500, sendo que o código é o mesmo e o log de erro nem chega no meu servidor. Já tentei fazer upload de várias maneiras diferentes, mas a resposta é sempre a mesma! Status 200 no emulador Android e no dispositivo físico do Android, e também status 200 no emulador IOS. Já no dispositivo físico Iphone X a resposta é o código 500 (erro interno do servidor). Alguém poderia me ajudar com isso? O código está logo abaixo.

**upload = async () => {
    const userTOKEN = AsyncStorage.getItem('@TOKEN')
    const url = 'http://myUrl/api/upload/imagem/'
    const body = new FormData();
    body.append('imagem', {
        uri: this.state.imageuri,
        name: 'user.jpg',
        type: 'image/jpeg'
    });
    axios({
        url: url,
        method: 'POST',
        headers: {
            'Authorization': `Bearer ${(await userTOKEN).toString()}`,
        },
        data: body
    })
    .then(response => {
        response.data
        /* console.log(response.data); */
        /* this.setState({ modalUpload: false }) */
        /* Alert.alert('Dados: ', response.data) */
    }).catch(function (error) {
        console.log(error);
    });
};**

Respostas: Emulador Android (Qualquer versão): => Status: 200 , response.data = http: //myUrl//imagens/prova.jpg;

Dispositivo Físico Android (Android 11): => Status: 200 , response.data = http: //myUrl//imagens/prova.jpg;

Emulador IOS iPhone 12 Pró Max (IOS 14.5): => Status: 200 , response.data = http: //myUrl//imagens/prova.jpg;

Dispositivo Físico IOS Iphone X (Qualquer versão): => Status: 500 , console.log (erro) = resposta: 500;

Sabem me dizer se é algo relacionado à segurança da Apple? Tem algo a ver com a diferença entre os navegadores?

Vale lembrar que estou usando apenas o VSCode versão 1.55.2, tanto no Mac quanto no Windows.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.